With this change, we start running Eval on all available Lix and Nix
versions. Because this requires a lot of resources, this complete test
is only run when `ci/pinned.json` is updated.
The resulting outpaths are checked for consistency with the target
branch. A difference will cause the `report` job to fail, thus blocking
the merge, ensuring Eval consistency for Nixpkgs across different
versions.
This implements a kind of "ratchet style" check: Since we originally
confirmed that the versions currently in Nixpkgs at the time of this
commit match Eval behavior of Nix 2.3, we can ensure consistency with
Nix 2.3 down the road, even without testing for it explicitly.
There had been one regression in Eval consistency for Nix between 2.18
and 2.24 - two tests in `tests.devShellTools` produce different results
between Lix 2.91+ (which was forked from Nix 2.18) and Nix 2.24+. I
assume it's unlikely that such a change would be "fixed" by now, thus I
added an exception for these.
As a bonus, we also present the total time in seconds it takes for Eval
to complete for every tested version in a summary table. This allows us
to easily see performance improvements for Eval due to version updates.
At this stage, this time only includes the "outpaths" step of Eval, but
not the generation of attrpaths beforehand.
(cherry picked from commit b523f257ac)
Move "Packages" up, because it's much shorter and easier to scroll past.
This way both Packages and Performance are visible immediately.
(cherry picked from commit f05895fb3c)
The Dependabot update change the hashes to the latest main branch commit
instead of the v5.0.0 tag - also it didn't adjust the tags in the
comments accordingly. Last but not least, one of the references used a
`@v5` reference instead of the commit hash. The latter is probably what
Dependabot tripped on.
(cherry picked from commit 51e6b0e40b)
to point to `$out/share/$pname/assets/` instead of `./share/assets/`.
This allows one to omit `path =` in
~~~nix
{
http.listeners = [{
resources = [{
name = "assets";
path = "${pkgs.matrix-authentication-service}/share/matrix-authentication-service/assets";
}];
}];
}
~~~
so it looks like
~~~nix
{
http.listeners = [{
resources = [
{ name = "assets"; }
];
}];
}
~~~
The cause for this was probably just a typo, as we replaced the string
in `#[cfg(not(any(feature = "docker", feature = "dist")))]` despite
building with `#[cfg(feature = "dist")]`.
See https://github.com/element-hq/matrix-authentication-service/blob/v0.20.0/crates/config/src/sections/http.rs#L39-L52
(cherry picked from commit 0387f7cba4)
This avoids downloading results from cachix, when they don't need to be
rebuilt, which just wastes time and resources.
(cherry picked from commit f105ab12f6)
A previous commit from Dependabot did this for all the workflows, but
Dependabot doesn't update the actions folder, apparently.
(cherry picked from commit 46d5594714)
This is slightly faster than downloading and extracting a tarball and
additionally allows a sparse checkout. No need to download docs or nixos
for our purpose.
The data is quite noisy, but suggests improvements from anywhere between
5-15 seconds for each job using the pinned nixpkgs.
(cherry picked from commit 8a9f0b8a47)
wlx-overlay-s uses
https://github.com/galister/ovr_overlay_oyasumi/pull/2, which pulls in a
version of ovr_overlay_sys with a build.rs file that doesn't build on
aarch64-linux.
https://github.com/galister/ovr_overlay_oyasumi is a fork of
https://github.com/Raphiiko/ovr_overlay_oyasumi, which is a fork of
https://github.com/TheButlah/ovr_overlay, with the latter not updated in
two years.
Luckily openvr is kinda discouraged, and openxr is the new kid on the
block, and openvr support can be feature-flagged out.
So let's do this, by adding a withOpenVr option to the derivation, that
defaults to false on aarch64-linux, unbreaking it there.
We still keep openvr support for x86_64-linux enabled, to not regress
experience for people already using openvr on x86_64-linux.
(cherry picked from commit 7e8402ce4e)
This was broken (https://git.lix.systems/lix-project/lix/issues/955) and
it's just us not using libucontext (and the libucontext package being
broken).
Fibers should basically be supported on all platforms that matter and
it's mostly just some packaging mishaps that stop them from working, so
we want to turn on the requirement by default so that it works.
(cherry picked from commit 784852621a)