| Age | Commit message (Collapse) | Author |
|
The test suite is now fast enough that the tester can also suffer from
the same vfs race. This change works around such intermittent failures.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This change works around a race in the vfs, where ACLs are ineffective
for a very short window of time while they are being written.
This remained undiscovered until now due to the previous integration
test suite's complete inability to handle concurrency (the nixos vm test
machinery could not even support python multithreading). At the time, it
was deemed unnecessary to run this kind of test in the integration vm,
as the entire container package up to the syscall wrappers had full test
coverage and plenty of tests for race conditions, and a race in vfs was
simply unexpected.
This workaround adds around 60 milliseconds of latency for a truly
inaccessible path. While this is not ideal, it is somewhat cheaper and
a lot easier to implement than synchronising container startup all the
way up from shim to the priv-side process. Regardless, EACCES should not
occur at all during regular use, and a 60-millisecond delay during
application development is hardly a problem.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids having multiple runs getting in the way of each other with
their Xwayland abstract socket.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This gets the cache action working without having to keep the init net
namespace.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is cleaner than contacting the cmd/mbf CI service on every run,
although also slightly slower in some cases.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This improves compatibility. This change also improves error messages.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This structure is a lot less clumsy than the old nix-centric layout.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Nix stuff is being removed, most of the flake.nix stuff is no longer
used by anything, so remove them here. This change also replaces a
hardcoded gcc command.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
There is no reason to keep using sudo here, now that processes are
spawned natively. This change removes all use of sudo.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This significantly improves performance, removing overhead of nix,
python, and virtualisation. Running this in an unprivileged container
required patching the kernel, but since special runner setup was already
needed, that was an acceptable tradeoff.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This also cleans up its API and improves error messages.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This replaces procps in the replacement test suite and enables faster
and much more precise matching.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This also cleans up their API.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This also improves its API.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is less ambiguous, and more consistent with upcoming integration
test suite changes.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This avoids re-downloading packages on every run.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is mostly useful for the integration test suites.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This was missed when migrating the test suite.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This keeps archives deterministic across multiple jobs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This runs tests directly in the container, significantly reducing
overhead introduced by virtualisation.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This also migrates from the unmaintained release action and improves
configuration so the new release is created as a draft, and the tag
annotation is automatically added as the release body.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This can happen under some edge cases and is expected.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
There will eventually be more endpoints for other CI workloads.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This requires a lot of specialised setup to run, so document that here
for future reference.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This replaces the nix-based dist job.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This enables use of non-cache cmd/mbf utils as root.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This obtains a fresh file descriptor on each attempt. Without resetting
it would end up endlessly appending to the buffer.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These are unstable across different kernel configurations or versions,
so strip them here alongside the others.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This removes duplicate code and significantly eases maintenance.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This accepts CI work over a shared read-only cache directory. This
replaces the nix CI service and prepares the removal of nix from the
test infrastructure.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
The head identifier messes up kernel headers.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This represents workflow documents via compound literals and removes
the ugly and footgun-heavy yaml documents.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This exposes the behaviour of curing an archiveArtifact without
requiring a cache. This can be handy and avoids lots of duplicate code.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This is useful for using a prepared source tarball without the
underlying filesystem available.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
These files may be inspected externally, mainly for the CI use case.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This URL was never explicitly in the README document. This change states
the canonical Git repository location and removes unreachable URLs.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
For some reason, upstream decided to add one missing header, but not any
other ones. This appears to be the first project to respond to the LLVM
change.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This change also disables -Wswitch for sway, due to lack of any upstream
response after two releases of the offending input.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This implements an optional, alternative template layout to accommodate
ZFS and equivalent setups where each template occupies a different
filesystem. In such a setup, the default, separate workdir is unusable
as overlayfs requires the workdir to reside on the same filesystem as
the writable upperdir. The "merge" build tag enables this alternative
behaviour.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|
|
This site, like all GNU infrastructure, is incredibly slow and
unreliable. This change replaces URLs to point to the download-mirror
subdomain, for hopefully increased reliability.
Signed-off-by: Ophestra <cat@gensokyo.uk>
|