As of yet, a patch caused the runner to discard update messages.
Unfortunately, GitHub keeps sending update messages to outdated runners
causing them to no longer pick up jobs.
This commit causes the runner to send a high version to GitHub which
should be more recent for quite a time. That way, GitHub does not send
update message and keeps scheduling jobs even for outdated runners.
Naturally, an oudated runner can still break at any time as GitHub's
current approach assumes that all runners are always up-to-date. We
should still strive for quick nixpkgs updates but this patch should give
us some time.
The runner only references `GitInfoCommitHash`/`CommitHash` to print
informational log entries. To allow for just referencing the tag of a
version instead of the commit hash, this commit sets the value of the
`GitInfoCommitHash` to a static dummy value.
See upstream PR#261[1] for further reference. Previously, the
`enable-features`-setting was entirely discarded due to an earlier
regression resulting in an attempt to start `element-desktop` in
Wayland-mode without all necessary components.
Closes #137377
[1] https://github.com/vector-im/element-desktop/pull/261
Other services that depend on elasticsearch should be started after
it, but since the versions we're packaging have to run as
"Type=simple", they're started as soon as the elasticsearch binary has
been executed, likely winning the race against it.
This makes sure elasticsearch is up and running, responding to a
simple query, before dependents are started.
When cross-compiling, we can't run the runtime shell to check syntax
if it's e.g. for a different architecture. We have two options here.
We can disable syntax checking when cross compiling, but that risks
letting errors through. Or, we can do what I've done here, and change
the syntax check to use stdenv's shell instead of the runtime shell.
This requires the stdenv shell and runtime shell to be broadly
compatible, but I think that's so ingrained in Nixpkgs anyway that
it's fine. And this way we avoid conditionals that check for cross.
For example BANNER_TIMEOUT can be overriden like:
```
ipxe.overrideArgs(old: {
enableOptions = old.enableOptions ++ [ "BANNER_TIMEOUT 100" ];
});
```
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
The build failure here is not due to Apple Silicon per se but instead
an artifact of the aarch64-darwin toolchain using a newer version of the
Xcode SDK as a basis. This causes issues building on case-insensitive
filesystems due to the collision between the standard <version> header
and a mosh source file called VERSION.
Fix with a MacPorts backport of an upstream mosh commit, via Homebrew.
Homebrew carries a patch that has been sent upstream. Since it's
designed to be suitable for inclusion as-is and strictly improves
correctness, we just apply it unconditionally on all platforms.