Граф коммитов

34 Коммитов

Автор SHA1 Сообщение Дата
Alexander Köplinger 245897ab25
Add cpio to Codespaces Dockerfiles (#109817)
Right now it fails when building installers (we don't do that during prebuild so we didn't notice)
2024-11-16 09:16:12 +01:00
Kevin Jones e476b43b5c
Update all devcontainers to noble (#109241)
* Update all devcontainers to Ubuntu Noble

* Add llvm back

* t64 sound lib
2024-10-29 08:46:32 +01:00
Kevin Jones d1bb71a2d0
Bump Android devcontainer from Jammy to Noble 2024-10-24 10:50:34 -04:00
Ilona Tomkowicz d91d9a116f
Fix codespaces build by bumping clang llvm (#105385)
* Replace system clang.

* Unify dockerfiles.

* Update docs.

* Feedback: typo
2024-07-24 11:20:32 +02:00
Alexander Köplinger 7284f17efe
Remove explicit EMSDK_PATH in devcontainer.json (#102598) 2024-05-23 13:47:29 +02:00
Radek Doulik 198a259622
[wasm] Do not pre-provision wasm, it is not needed anymore (#102554) 2024-05-22 12:59:12 +02:00
Ilona Tomkowicz ca48a0d0f7
[wasm] Codespaces need more disc to succeed building on container creation (#99803)
* Debug

* Building steps logging.

* Chop up restore and clean cache in between

* Restore does not take as much space as codespaces setup files in "/workspaces/.codespaces".

* Try removing the biggest offender.

* Cannot see the impact of cleanup on the size check logs.

* Move setup code into post-create

* Pass arg to the script, otherwise nothing is triggered

* Move all commands up to restore to onCreate. Restore should be done after codespaces setup when occupied disc space drops.

* Fix: wasm does not have artifacts dir on writing to this file.

* This would work but is not 100% reliable - user can interact with the VM before the command finishes.

* Build subset by subset.

* Easy fix - requre bigger disc.
2024-03-16 11:59:18 +01:00
Ilona Tomkowicz a4cbe52a8a
[wasm][mt] Fix MT option in container configs - typo. (#99683) 2024-03-13 14:26:36 +01:00
Ilona Tomkowicz cb7154df94
[wasm][mt] Add MT option to container configs (#99615)
* Add MT option.

* Add configuration, fix function not defined.
2024-03-13 12:25:23 +01:00
Tommy Sørbråten 1a0e610af4
Add timezone data to codespaces (#98904) 2024-02-25 15:02:42 -07:00
Alexander Köplinger 425e74c6a0
[wasm] Fix a few more paths to in-tree emsdk (#96625)
It was moved from src/mono/wasm to src/mono/browser in https://github.com/dotnet/runtime/pull/95940
2024-01-08 19:33:24 +01:00
Alexander Köplinger 18f30897b7
Fix wasm Codespaces prebuild (#96326)
The makefile target was moved in https://github.com/dotnet/runtime/pull/95940
2023-12-27 19:15:50 +01:00
Kevin Jones 72fae0073b
Create a Codespace for Android development (#96257) 2023-12-26 11:06:06 +01:00
Ankit Jain a36a860f74
[wasm] Extract `src/mono/browser` from `src/mono/wasm` (#95940)
* [wasm] Extract src/mono/browser from src/mono/wasm, and update to track changes

* [wasm] Makefile - update to remove some unrelated targets

* [wasm] Rename wasm.proj to browser.proj - feedback from @ maraf

* Add the renamed browser.proj

* address review feedback from @ maraf

* review feedback from @ pavelsavara

* address review feedback from @ maraf
2023-12-19 10:03:41 -05:00
Alexander Köplinger 2aea2440a5
Improve DevContainer configuration for Codespaces (#91465)
Adds a default configuration that comes with all the dependencies preinstalled, but not prebuilt. This reduces confusion if you don't use the "New with options..." dropdown when creating the Codespace since you'd just get a standard Ubuntu container then.

Also install a specific version of dotnet-serve.
2023-09-01 17:18:29 +02:00
Alexander Köplinger b2eb4cd88e
Fix Codespaces prebuild after CMake upgrade and set policy in Mono (#88410)
The prebuild on Codespaces broke after the minimum CMake version was bumped in https://github.com/dotnet/runtime/pull/86530 because the container was still using Ubuntu 20.04 (Focal) which only has CMake 3.16.1.

Upgrade to Ubuntu 22.04 (Jammy) so we have a new enough CMake.

Also fix a missing policy in the Mono CMakeLists.txt that was accidentally removed.
2023-07-05 12:00:40 -07:00
Ilona Tomkowicz c67357f5d4
[codespaces] Fix V8 error when running lib tests (#86871) 2023-05-29 17:02:47 +02:00
Radek Doulik 1a60933529
[wasm] Install latest LTS npm/node for codespaces (#86767)
* [wasm] Install latest LTS npm/node for codespaces

* Fix docker build
2023-05-25 22:00:22 +02:00
dotnet-maestro[bot] 4233da3078
[main] Update dependencies from dotnet/arcade (#84698)
* Update dependencies from https://github.com/dotnet/arcade build 20230411.8

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23210.3 -> To Version 8.0.0-beta.23211.8

* Mark NativeBuild_WithDeployOnBuild_UsedByVS as an active issue

* Revert codespaces workaround from #83331

* Bring in missing arcade changes

* Update dependencies from .NET Eng - Latest manually

* Update Version.Details.xml

* Update Versions.props

* Update dependencies from https://github.com/dotnet/arcade build 20230413.1

Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Archives , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Build.Tasks.Installers , Microsoft.DotNet.Build.Tasks.Packaging , Microsoft.DotNet.Build.Tasks.TargetFramework , Microsoft.DotNet.Build.Tasks.Templating , Microsoft.DotNet.Build.Tasks.Workloads , Microsoft.DotNet.CodeAnalysis , Microsoft.DotNet.GenAPI , Microsoft.DotNet.GenFacades , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.PackageTesting , Microsoft.DotNet.RemoteExecutor , Microsoft.DotNet.SharedFramework.Sdk , Microsoft.DotNet.VersionTools.Tasks , Microsoft.DotNet.XUnitConsoleRunner , Microsoft.DotNet.XUnitExtensions
 From Version 8.0.0-beta.23210.3 -> To Version 8.0.0-beta.23213.1

* Fix ILCompiler build with newer SDK

---------

Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Viktor Hofer <viktor.hofer@microsoft.com>
Co-authored-by: Sven Boemer <sbomer@gmail.com>
2023-04-14 19:04:38 -05:00
Adeel Mujahid de5a04b2d7
Simplify numasupport (#84207)
* Simplify numasupport

* short-circuit

* Cleanup from QUIC readme

* Address CR feedback: early bail for < 2 NUMA nodes

* Fix node numbering, which is 0-based
2023-04-06 16:23:56 -07:00
Alexander Köplinger f2a1411593
[Codespaces] Fix prebuild by using newer dotnet sdk (#83331)
fix to resolve a build error during Codespaces prebuild: https://github.com/dotnet/msbuild/issues/8531
2023-03-15 22:00:25 +01:00
Viktor Hofer 2ca7cf7140
Lowercase TargetOS (#80164)
Follow-up on #32451
Follow-up on #80074

In #43651, the "Windows" OS name was lowercased to achieve target frameworks with RIDs in them. At that time, the original plan was to lowercase all TargetOS values but that had to be cut because of resources. This PR finishes that and updates build systems, YML, markdowns and managed components.

To not break existing developer workflows, the passed-in -os value is automatically lower-cased in the script entry points and validated in the msbuild entry point.
2023-01-11 17:58:32 +01:00
Eric Erhardt 55060ebf68
Split Codespaces configuration based on development scenarios (#74683)
* Split libraries and wasm devcontainers

Codespaces allows for monorepo support now. So we can have different pre-builds for different dev environments.

Creating a "libraries" pre-build and a "wasm" pre-build devcontainer.

* Move devcontainer files into separate folders

* Path up a directory to the Dockerfile

* Split the Dockerfile so it can be customized per devcontainer

* Update Codespaces docs

* Respond to PR feedback

* Use the new open devcontainers path.

* Use the GH CLI feature instead of installing it ourselves

* Set hostRequirements for Codespaces

Developing in dotnet/runtime with a 2-core / 4GB ram machine doesn't work very well. Add a minimum of 4-core machine to the devcontainer spec.

Fix #75680
2022-09-20 11:24:04 -05:00
Kevin Jones 7d034ddbbb
Add the GitHub CLI to the Codespaces container (#72287)
* Add the GitHub CLI to the Codespaces container

* More closely follow existing public docs.
2022-07-15 21:27:22 -04:00
Adeel Mujahid 55e2378d86
Fix typos (#69537)
* Fix typos

* Fix typo: seperate -> separate

* Rename ApplicationNameSetFromArgument

* Update src/coreclr/vm/methodtablebuilder.cpp

* Update docs/coding-guidelines/clr-code-guide.md

Co-authored-by: Dan Moseley <danmose@microsoft.com>

* Update src/mono/mono/tests/verifier/make_tests.sh

Co-authored-by: Dan Moseley <danmose@microsoft.com>
Co-authored-by: Jan Kotas <jkotas@microsoft.com>
2022-05-23 10:14:58 -07:00
John Salem c48adc278d
[Infrastructure] Update devcontainer (#67656)
* Update devcontainer
* upgrade to 6.0 container and fix to Ubuntu 20.04
* Upgrade llvm/clang package versions
2022-05-03 11:45:27 -07:00
Thays Grazia a970720fc3
[wasm][debugger] Debug on firefox (#61776)
* First compiling and working version just proxying messages.

* almost working, already showing the cs files

* Working on firefox.

* Use internal e not public.

* Debugging on firefox working.

* Working after the merge

* Keep the TcpListener open and use a random port.

* Show null value.

* - Show JS Callstack
- Skip properties
- Get array value from evaluateAsyncJS and not use the preview value.

* Fix compilation

* Infrastructure to run debugger tests.

* fix merge

* run test.

* Skipping tests that are not passing on Firefox.

* Skipping tests that are not passing on Firefox.

* Passing 13 steppingtests.

* Passing 13 steppingtests.

* Passing 13 steppingtests.

* Failed:     0, Passed:    39, Skipped:   203, Total:   242, Duration: 5 m 6 s - DebuggerTestSuite.dll (net6.0)

* Failed:     0, Passed:    66, Skipped:   195, Total:   261, Duration: 9 m 29 s - DebuggerTestSuite.dll (net6.0)

* Using ConditionalTheory and ConditionalFact implemented by @radical.

* Fixing side effect.

* Implemented conditional breakpoints.
Failed:     0, Passed:    74, Skipped:   189, Total:   263, Duration: 8 m 41 s - DebuggerTestSuite.dll (net6.0)

* Fix special characters and pointers.

Failed:     0, Passed:   116, Skipped:   177, Total:   293

* Fix merge

* Run debugger-tests on firefox using codespace

* Starting firefox correctly not stopping in the breakpoint yet.

* Remove unnecessary change

* Fix pause behavior (now showing correctly, pause on breakpoint, pause while stepping)
Start implementing evaluate expressions, working correctly on VSCode.

* Fix local tests.

* Fix missing )

* Passing 190 tests, evaluate expressions working.

* Remove Task.Delays.
Move some attributes from FirefoxMonoProxy to FirefoxExecutionContext.

* Fix container creation

* Trying to run firefox tests on CI.

* Moving file to the right place.

* Trying to run debugger-tests using firefox on CI.

* fixing path

* Missing url to download firefox on helix.

* On run the tests only on linux.

* Trying to download firefox on helix.

* fix error on helix-wasm.targets.

* trying to fix ci

* trying to install firefox on helix.

* Fixing firefox path

* Fix debugger tests on firefox

* fixing profile path

* Install libdbus-glib-1-2 on docker and on codespace

* Trying to run using firefox on CI

* update docker image

* Adding more messages to see errors on CI

* Trying to make it work on CI

* Real test on CI

* Trying to use the firefox machine only to run firefox tests
Retrying connection to Proxy
Remove extra messages added to help to fix CI

* Fix CI

* Fix CI

* Fix CI.

* Remove unnecessary changes.

* Using machine with sudo installed

* Addressing @lewing comments

* Fix run tests on codespace
Using image with python3

* Use default image to build and new image only to run firefox tests

* Fix unrelated change

* Fix ci

* check python version

* Print python versions

* Using image with PIP installed

* Using image with pip updated

* Remove unrelated changes
Increase time to wait for firefox to be ready

* Trying to fix evaluate tests.

* Fix evaluateoncallframe tests

* Trying to fix evaluation tests.

* trying to fix evaluateoncallframetests

* fiz evaluateoncallframetests

* Trying to kill firefox to avoid errors.

* Trying to fix EvaluateOnCallFrameTests

* Fix CI

* Remove failing test

* Fix misctests

* Fix other build errors.

* Trying to fix CI.

* Fix CI

* Remove unecessary message.

* Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj

Co-authored-by: Ankit Jain <radical@gmail.com>

* Addressing @radical comments

* Merge error while accept @radical suggestion

* Merge error while accept @radical suggestion

* Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs

Co-authored-by: Ankit Jain <radical@gmail.com>

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>

* Addressing @radical comments

* Abort the tcp connection if the proxy throws an exception

* Refactor a bit

* Use more compile time checks for chrome vs firefox

* fix pipeline

* Make debugger job names unique by including the browser

* fix runtime-wasm pipeline

* fix firefox ci job

* split into more files

* cleanup

* Add support for running chrome, and firefox tests in the same job

* fix yml

* fix build

* fix build

* fix windows build

* Don't delete profile folder nor pkill firefox

* Delete and create a new profile folder for each execution

* fix helix command line

* [wasm][debugger] Fix tests broken on 'main'

This test broke because it was checking for the number of members on
`System.TimeSpan`, and that changed with
https://github.com/dotnet/runtime/pull/67666 , which added new members
like `TotalNanoseconds`.

The test shouldn't depend on this number anyway, so remove that.

```
  Failed DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(line: 137, col: 12, method_name: "MethodWithLocalsForToStringTest", call_other: False, invoke_async: False) [758 ms]
  Error Message:
   [ts_props] Number of fields don't match, Expected: 12, Actual: 16
Expected: True
Actual:   False
  Stack Trace:
     at DebuggerTests.DebuggerTestBase.CheckProps(JToken actual, Object exp_o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 800
   at DebuggerTests.DebuggerTestBase.CompareObjectPropertiesFor(JToken locals, String name, Object o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 908
   at DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(Int32 line, Int32 col, String method_name, Boolean call_other, Boolean invoke_async) in /_/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs:line 559
```

* wip

* big refactor

* chrome runs

* ff runs

* ff runs

* cleanup

* cleanup

* cleanup

* change console verbosity to info, for proxy

* More refactoring

* More refactoring, and fix some issues with connections, and other
cleanup

* some cleanup

* fix file name

* Improve cleanup after tests

* some refactoring, fixing some hangs, faster failures etc

* Fix BrowserCrash test for chrome

* fix up logging

* Improve error handling for the proxy running independently

* fix debugging from vscode

* proxy host: add --log-path for logs

* support canceling for the proxy host too, and distinguish different instances of the proxy

* Fix debugger after refreshing the debugged page.

* Fixing chrome debugging.

* Fix startup to work on chrome and also on firefox.

Co-authored-by: Ankit Jain <radical@gmail.com>
2022-04-26 16:10:50 -03:00
Ilona Tomkowicz ef785f5db2
[wasm][debugger] Run debugger test in codespace (#64746)
* Tmp change for debugging.

* Added chromium, needed for running debugger tests.

* Corrected line breaking, removed suso.

* Removed update duplicate.

* Prevent regex on null.

* Set special env variable only for containers.

* Locally docker build crashes without it.

* Applied @eerhardt suggestion.

* Moved env assignment to a place that is executed by onCreateCommand.sh

* Revert accidential new line removal.

* Upgrade is unnecessary, works without it.

* Moved all logic to C# code.

* Remove duplicated line.

* Applied @thays's and @lewing's comments.

* Enabling @radical approach for chromium installation.

Co-authored-by: Ankit Jain <radical@gmail.com>
2022-02-25 15:01:01 +01:00
Aleksey Kliger (λgeek) 5a9bcde1d5
[Codespaces] Make it possible to run wasm samples in the browser (#64277)
With these changes, running the following in the Codespace will open the local browser to a page served from the codespace hosting the WASM sample:

```console
cd src/mono/sample/wasm/browser
make
make run-browser
```


* Set EMSDK_PATH in .devcontainer.json

   We provision Emscripten as part of the devcontainer prebuild.

   Set EMSDK_PATH to allow rebuilding the wasm runtime to work without any additional ceremony

* Install dotnet-serve into .dotnet-tools-global

* [wasm] Don't try to open browser if running in Codespaces

* .devcontainer: add global tools dir to PATH

* .devcontainer: forward port 8000

   This enables running the mono wasm samples in the local browser:

* [wasm] samples: also check for dotnet-serve on the path

   On Codespaces we install dotnet-serve on the PATH but not where `dotnet tool list` can see it

* remove onAutoForward: notify - it's the default

* Adjust the path of v8 depends if running in a dev container

* Check if we're running in any Docker container, not just Codespaces

Co-authored-by: Fan Yang <52458914+fanyang-mono@users.noreply.github.com>
2022-01-26 21:00:00 -05:00
Fan Yang ae755ab3c7
Install v8 and Prebuild wasm (#64100) 2022-01-24 15:10:22 -05:00
Santiago Fernandez Madero c66fa996b5
Add .runsettings file to be able to run and debug tests on vscode in codespace with prebuilt (#61684) 2021-11-16 14:34:52 -08:00
Eric Erhardt 3dfdcb918b
Add instructions for using Codespaces (#60996)
* Add instructions for using Codespaces

* Automate resetting the HEAD to the same commit ID used to build the pre-built container

* - Add notes about testing changes.

- Add 4-core machines

* Revert 4-core change since prebuild doesn't support multiple sku_names.
2021-11-08 20:18:05 -06:00
Eric Erhardt 8f8e8f0493
Update Codespaces configuration (#60900)
- mark onCreateCommand.sh as executable
- add more regions so users outside of West US can take advantage of prebuilt codespaces
- use v1-stable version, as recommended by docs
- use faster machines for dev productivity
2021-10-27 14:45:08 -05:00
Eric Erhardt 8e4c996ae3
Add initial codespaces support for dotnet/runtime (#59723)
* Add initial codespaces support for dotnet/runtime

* Enable codespaces-prebuild
2021-09-29 11:41:36 -05:00