aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)Author
7 daysinternal/testsuite: handle intermittent EACCESOphestra
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>
7 dayscontainer: recover from intermittent EACCESOphestra
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>
7 daysinternal/workflows: unshare net for sandbox suiteOphestra
This avoids having multiple runs getting in the way of each other with their Xwayland abstract socket. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/workflows: document network setupOphestra
This gets the cache action working without having to keep the init net namespace. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/workflows: fetch distribution artifactHEADmasterdevelopOphestra
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>
7 daysinternal/testsuite: add additional environmentOphestra
This improves compatibility. This change also improves error messages. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daysinternal/testsuite: move from testOphestra
This structure is a lot less clumsy than the old nix-centric layout. Signed-off-by: Ophestra <cat@gensokyo.uk>
7 daystest: remove obsolete codeOphestra
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>
7 daystest/internal/testsuite: directly set credentialsOphestra
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>
7 daystest/sandbox: migrate testsOphestra
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>
10 daystest/internal/testsuite: move fs checkerOphestra
This also cleans up its API and improves error messages. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daystest/internal/testsuite: simple proc scannerOphestra
This replaces procps in the replacement test suite and enables faster and much more precise matching. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daystest/internal/testsuite: move ptrace helpersOphestra
This also cleans up their API. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daystest/internal/mountinfo: move from sandboxOphestra
This also improves its API. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 dayspkg: rename test helperOphestra
This is less ambiguous, and more consistent with upcoming integration test suite changes. Signed-off-by: Ophestra <cat@gensokyo.uk>
10 daysinternal/workflows: cache installed packagesOphestra
This avoids re-downloading packages on every run. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 dayscmd/dist: optionally build with race instrumentOphestra
This is mostly useful for the integration test suites. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 daysinternal/workflows: upload sharefs fs_mark logOphestra
This was missed when migrating the test suite. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 dayscmd/mbf/internal/ci: zero archive timesOphestra
This keeps archives deterministic across multiple jobs. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 daystest/sharefs: migrate testsOphestra
This runs tests directly in the container, significantly reducing overhead introduced by virtualisation. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 daysinternal/workflows: migrate release workflowOphestra
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>
12 dayspkg: drop EEXIST linking substitute statusOphestra
This can happen under some edge cases and is expected. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 dayscmd/mbf/internal/ci: document dist endpointOphestra
There will eventually be more endpoints for other CI workloads. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 daysinternal/workflows: document act_runner setupOphestra
This requires a lot of specialised setup to run, so document that here for future reference. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 daysinternal/workflows: request dist via cmd/mbfOphestra
This replaces the nix-based dist job. Signed-off-by: Ophestra <cat@gensokyo.uk>
12 dayscmd/mbf: poison open via environmentOphestra
This enables use of non-cache cmd/mbf utils as root. Signed-off-by: Ophestra <cat@gensokyo.uk>
13 dayscmd/mbf/internal/ci: reset buffer before retryingOphestra
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>
13 dayscontainer: strip more unstable optionsOphestra
These are unstable across different kernel configurations or versions, so strip them here alongside the others. Signed-off-by: Ophestra <cat@gensokyo.uk>
13 daysinternal/workflows: template common stepsOphestra
This removes duplicate code and significantly eases maintenance. Signed-off-by: Ophestra <cat@gensokyo.uk>
13 dayscmd/mbf: proof-of-concept CI serviceOphestra
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>
2026-09-29internal/rosa/package/gnu: fix header for arm64Ophestra
The head identifier messes up kernel headers. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-28internal/workflows: migrate workflowsOphestra
This represents workflow documents via compound literals and removes the ugly and footgun-heavy yaml documents. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-29pkg: archive extract helperOphestra
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>
2026-09-27internal/rosa: separate source override methodOphestra
This is useful for using a prepared source tarball without the underlying filesystem available. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-24internal/rosa/package/dbus: xdg-dbus-proxy 0.1.8 to 0.1.9Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-21internal/rosa/package/gnu: gzip 1.14 to 1.15Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-21internal/rosa/package/fribidi: 1.0.16 to 1.0.17Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-21internal/rosa/package/harfbuzz: 14.4.0 to 14.5.0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-21internal/rosa/package/python: poetry-core 2.4.1 to 2.5.0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-18pkg: make status world-readableOphestra
These files may be inspected externally, mainly for the CI use case. Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-18update canonical Git repository locationOphestra
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>
2026-09-17cmd/app: don't use tabs for alignmentRachael R.
2026-09-17internal/rosa/package/pipewire: 1.6.8 to 1.6.9Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-17internal/rosa/package/mesa: 26.2.2 to 26.2.3Ophestra
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>
2026-09-17internal/rosa/package/firmware: 20260910 to 20260916Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-17internal/rosa/package/libinput: 1.31.901 to 1.32.0Ophestra
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>
2026-09-17internal/rosa/package/python: hatchling 1.18.0 to 1.18.1Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-17internal/rosa/package/python: flit-core 4.0.2 to 4.1.0Ophestra
Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-09-17cmd/app: alternative merged template layoutOphestra
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>
2026-09-16internal/rosa/package: use mirrors for savannah.nongnu.orgOphestra
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>