While I am not that much knowleadgeable about the dotnet ecosystem, It
was sufficient enough for me to coordinate the last few release bumps.
Being a maintainer will simplify backporting release bumps to older
releases with the merge-bot.
The github-runner tests fail when executed in a sandbox, even with
`__darwinAllowLocalNetworking`.
While `sandbox = false` is still the default under darwin, `sandbox =
relaxed` becomes more popular. For that mode, `__noChroot` serves as a
marker to still disable the sandbox for that derivation.
In `Debug` builds, the log level is more verbose. Some tests read the
logs to check for succeess. Setting the `GITHUB_ACTIONS_RUNNER_TRACE`
environment variable results in the same log level.
The test `AuthMigrationAutoReset` depends on a `#Debug` preprocessor
macro and, hence, cannot work. I have disabled the test.
With rec, it is nearly impossible to override the version since it is
used in so many different places in the nix expression.
With the current change, it is possible to override version and src to
build a different version.
At runtime, we currently have errors like this:
```
Dec 09 13:58:02 ci1 dwx059sqrz6hh2v1ml8y70a22pkhaxdb-github-runner-12-unregister-runner.sh[2571025]: ldd: /nix/store/7zskpnpyzivfzkzz861bf8mmqm36qv6y-dotnet-runtime-wrapped-8.0.11/shared/Microsoft.NETCore.App/8.0.11//libcoreclr.so: No such file or directory
Dec 09 13:58:03 ci1 fgpf4l2h5daz7yb663y0vs8f397ydwmz-github-runner-12-configure.sh[2571116]: ldd: /nix/store/7zskpnpyzivfzkzz861bf8mmqm36qv6y-dotnet-runtime-wrapped-8.0.11/shared/Microsoft.NETCore.App/8.0.11//libcoreclr.so: No such file or directory
```
* remove mentions of Node.js 16 which is not supported anymore
see https://github.com/actions/runner/pull/3503
* switch to .Net SDK 8
see https://github.com/actions/runner/pull/3500
* fix source path discovery in deterministic build: runtime assumes that
the root of the project is `/_`, replace it with actual `/build/src`
so that tests can find their data.
In preparation for the deprecation of `stdenv.isX`.
These shorthands are not conducive to cross-compilation because they
hide the platforms.
Darwin might get cross-compilation for which the continued usage of `stdenv.isDarwin` will get in the way
One example of why this is bad and especially affects compiler packages
https://www.github.com/NixOS/nixpkgs/pull/343059
There are too many files to go through manually but a treewide should
get users thinking when they see a `hostPlatform.isX` in a place where it
doesn't make sense.
```
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv.is" "stdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenv'.is" "stdenv'.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "clangStdenv.is" "clangStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "gccStdenv.is" "gccStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "stdenvNoCC.is" "stdenvNoCC.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "inherit (stdenv) is" "inherit (stdenv.hostPlatform) is"
fd --type f "\.nix" | xargs sd --fixed-strings "buildStdenv.is" "buildStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "effectiveStdenv.is" "effectiveStdenv.hostPlatform.is"
fd --type f "\.nix" | xargs sd --fixed-strings "originalStdenv.is" "originalStdenv.hostPlatform.is"
```