181 Commits

Author SHA1 Message Date
db68959c73 Merge pull request 'CI: Use generic runner label 'gentoo'' (#15) from feature/switch-ci-to-generic-gentoo-runner-labels into master
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 10s
Gentoo Utils / docs (push) Successful in 18s
Gentoo Utils / build (push) Successful in 26s
Gentoo Utils / fuzz (push) Successful in 1m23s
Gentoo Utils / grep (push) Successful in 1m56s
Gentoo Utils / check-format (push) Successful in 2m5s
Gentoo Utils / test (push) Successful in 1m59s
Reviewed-on: #15
2025-12-24 11:18:42 -06:00
96708614ba port to meson cargo
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 22s
Gentoo Utils / grep (push) Successful in 1m1s
Gentoo Utils / check-format (push) Successful in 1m26s
Gentoo Utils / docs (push) Successful in 1m31s
Gentoo Utils / build (push) Successful in 1m43s
Gentoo Utils / test (push) Successful in 36s
Gentoo Utils / fuzz (push) Successful in 1m21s
Use the new unstable meson cargo support. This simplifies the
meson.build script and allows to use crates such as clap that require
picking up features from Cargo.toml.

This also allows us to not embed thiserror in subprojects, and instead
use a wrap file with a custom meson.build and some patches to make it
compile without running its build.rs script.
2025-12-22 08:05:20 +00:00
7969a0d8c0 ci: use generic label 'gentoo' which maps to any runner capable of running gentoo jobs
All checks were successful
Gentoo Utils / docs (push) Successful in 16s
Gentoo Utils / fuzz (push) Successful in 1m12s
Gentoo Utils / build-oci-image (push) Successful in 10s
Gentoo Utils / grep (push) Successful in 4s
Gentoo Utils / check-format (push) Successful in 10s
Gentoo Utils / build (push) Successful in 22s
Gentoo Utils / test (push) Successful in 37s
2025-12-21 14:10:17 -06:00
0ec8567972 rust-analyzer.sh: invoke clippy-json directly, which now handles compiling internally
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / grep (push) Successful in 1m0s
Gentoo Utils / check-format (push) Successful in 1m9s
Gentoo Utils / docs (push) Successful in 1m13s
Gentoo Utils / build (push) Successful in 1m23s
Gentoo Utils / fuzz (push) Successful in 1m12s
Gentoo Utils / test (push) Successful in 36s
2025-12-17 04:17:15 +00:00
6b5de6346d Merge pull request 'Add fuzzer to the pipeline' (#11) from feature/add-fuzzer-to-ci into master
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / grep (push) Successful in 3s
Gentoo Utils / check-format (push) Successful in 8s
Gentoo Utils / docs (push) Successful in 12s
Gentoo Utils / build (push) Successful in 19s
Gentoo Utils / test (push) Successful in 27s
Gentoo Utils / fuzz (push) Successful in 47s
Reviewed-on: #11
2025-12-15 18:43:30 -06:00
250a6e7b6f ci: fuzz: clean up fuzzer script a bit
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / grep (push) Successful in 2s
Gentoo Utils / check-format (push) Successful in 8s
Gentoo Utils / docs (push) Successful in 12s
Gentoo Utils / build (push) Successful in 20s
Gentoo Utils / test (push) Successful in 29s
Gentoo Utils / fuzz (push) Successful in 47s
2025-12-16 00:39:24 +00:00
7947af8de2 ci: fuzz: dont fail the pipeline
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / grep (push) Successful in 3s
Gentoo Utils / check-format (push) Successful in 7s
Gentoo Utils / docs (push) Successful in 13s
Gentoo Utils / build (push) Successful in 19s
Gentoo Utils / test (push) Successful in 27s
Gentoo Utils / fuzz (push) Successful in 45s
2025-12-14 21:46:20 -06:00
f7f17514a6 ci: fix some instances of failing commands not failing jobs
Some checks failed
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / check-format (push) Successful in 7s
Gentoo Utils / docs (push) Successful in 12s
Gentoo Utils / build (push) Successful in 19s
Gentoo Utils / grep (push) Successful in 3s
Gentoo Utils / test (push) Successful in 26s
Gentoo Utils / fuzz (push) Failing after 53s
ci: fix some rare instances of commands failing because TERM wasnt set
2025-12-14 21:40:50 -06:00
eac300343d ci: build: remove debugging echos
ci: build: remove redundant source
2025-12-14 21:40:50 -06:00
4c1f1bcb0e ci: add fuzz job
ci: fuzz: add timeout

ci: fuzz: add fuzzer timeout

ci: fuzz: fix portage venv
2025-12-14 21:40:50 -06:00
3ac866a907 scripts: add fuzzer helper script 2025-12-14 21:40:37 -06:00
52ce39d579 Merge pull request 'feature/remove-statics-from-parser-fuzzer' (#13) from feature/remove-statics-from-parser-fuzzer into master
All checks were successful
Gentoo Utils / check-format (push) Successful in 8s
Gentoo Utils / build (push) Successful in 20s
Gentoo Utils / test (push) Successful in 26s
Gentoo Utils / grep (push) Successful in 3s
Gentoo Utils / docs (push) Successful in 12s
Gentoo Utils / build-oci-image (push) Successful in 7s
Reviewed-on: #13
Reviewed-by: penguin <penguin@epenguin.net>
2025-12-14 19:42:50 -06:00
7348681b65 gate atom parser fuzzer debug printing
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 25s
Gentoo Utils / grep (push) Successful in 4s
Gentoo Utils / check-format (push) Successful in 22s
Gentoo Utils / docs (push) Successful in 26s
Gentoo Utils / build (push) Successful in 36s
Gentoo Utils / test (push) Successful in 40s
2025-12-15 01:09:16 +00:00
5178a7b8ea check for duplicate flags in usedeps, instead of duplicate usedeps 2025-12-15 00:37:47 +00:00
a3ff953e50 except InvalidAtom in atom.py 2025-12-15 00:36:12 +00:00
b0f68fa7e0 remove static variables from atom parser fuzzer
Stdin and Stdout are already synchronized and available to multiple
threads as needed, we don't need to hold onto instances in a static variable.
2025-12-15 00:33:35 +00:00
c25294333b use -E flag in git grep
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 17s
Gentoo Utils / grep (push) Successful in 4s
Gentoo Utils / check-format (push) Successful in 25s
Gentoo Utils / docs (push) Successful in 30s
Gentoo Utils / build (push) Successful in 40s
Gentoo Utils / test (push) Successful in 33s
2025-12-14 23:14:41 +00:00
08fac67f73 fill in todo! in match arm
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / grep (push) Successful in 3s
Gentoo Utils / test (push) Successful in 27s
Gentoo Utils / check-format (push) Successful in 8s
Gentoo Utils / docs (push) Successful in 12s
Gentoo Utils / build (push) Successful in 20s
2025-12-14 04:38:33 +00:00
06deeb3ae7 grep for todo! and dbg! in check_commands and in CI 2025-12-14 04:38:33 +00:00
b1dda9ca88 Merge pull request 'allow fuzzer disagreements where there are duplicated usedeps in the atom' (#10) from feature/fix-fuzzer-failure-on-duplicated-usedeps into master
Some checks failed
Gentoo Utils / build-oci-image (push) Successful in 7s
Gentoo Utils / check-format (push) Successful in 9s
Gentoo Utils / docs (push) Successful in 16s
Gentoo Utils / build (push) Successful in 27s
Gentoo Utils / test (push) Has been cancelled
Reviewed-on: #10
2025-12-13 20:56:50 -06:00
87e9d1920c allow fuzzer disagreements where there are duplicated usedeps in the atom
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 19s
Gentoo Utils / check-format (push) Successful in 10s
Gentoo Utils / docs (push) Successful in 13s
Gentoo Utils / build (push) Successful in 24s
Gentoo Utils / test (push) Successful in 29s
Portage rejects atoms with duplicated usedeps that are otherwise
valid, gentoo-utils accepts these as valid however. So we will not
panic on cases of disagreement where the control side fails and we
detect duplicated usedeps.
2025-12-14 02:53:49 +00:00
90d67e3004 give fuzzer corpuses unique names
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 50s
Gentoo Utils / check-format (push) Successful in 14s
Gentoo Utils / docs (push) Successful in 22s
Gentoo Utils / build (push) Successful in 47s
Gentoo Utils / test (push) Successful in 39s
2025-12-14 01:18:39 +00:00
5c293ccbc9 add alias targets for fuzzers 2025-12-14 01:12:44 +00:00
185bf01b9e prefix atom fuzzer static library targets with "atom" 2025-12-14 01:10:05 +00:00
f16e50681c Merge pull request 'Add docker image caching; split build job into build, test, check format jobs; add docs job' (#6) from feature/split-ci-into-more-jobs into master
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 15s
Gentoo Utils / check-format (push) Successful in 9s
Gentoo Utils / docs (push) Successful in 14s
Gentoo Utils / build (push) Successful in 20s
Gentoo Utils / test (push) Successful in 26s
Reviewed-on: #6
2025-12-12 23:19:39 -06:00
c82152a365 ci: add docs job
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 15s
Gentoo Utils / docs (push) Successful in 14s
Gentoo Utils / build (push) Successful in 19s
Gentoo Utils / check-format (push) Successful in 39s
Gentoo Utils / test (push) Successful in 26s
2025-12-12 23:18:06 -06:00
f16545e65b ci: add check-format job 2025-12-12 23:05:56 -06:00
e83ca9aab2 ci: add test job
Right now this just rebuilds everything the build job built. In a future
PR I will either cache the build dir from the build job or I will upload
the build dir as an artifact.
2025-12-12 23:05:56 -06:00
0d1f38f795 ci: update build job to only build 2025-12-12 23:05:56 -06:00
a290528679 ci: build-oci-image: cache .git dir in build-oci-image
ci: build-oci-image: fix logic for detecting changes to .docker in build-oci-image

ci: build-oci-image: use registry url variable, not hardcoded url

ci: build-oci-image: change changes_detected var to build image

ci: build-oci-image: output an image tag for other jobs to use

ci: build-oci-image: cache the docker image build

This wont always speed things up, but occasionally it will speed things
up by a lot
2025-12-12 23:05:53 -06:00
8a483e6d6c ci: set default shell to login shell
This way /etc/profile is sourced in our gentoo jobs
2025-12-12 23:05:05 -06:00
59c060df54 ci: build-oci-image: create entrypoint script and put env sources in it 2025-12-12 23:04:57 -06:00
91389abcb9 ci: simplify pipeline logic 2025-12-12 23:04:34 -06:00
1db36d168c use "ninja test" instead of "meson test" in check_commands.txt
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Successful in 33s
2025-12-12 04:39:04 +00:00
8b700b0404 create rust-analyzer.sh script
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 11s
Gentoo Utils / build (push) Successful in 35s
This script should be ran by the LSP server to get error diagnostics.
2025-12-12 03:40:45 +00:00
e67e20ef29 give fuzzer related targets unique names
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 12s
Gentoo Utils / build (push) Successful in 33s
2025-12-12 01:56:38 +00:00
8fabd409ad fix warnings in src/atom/mod.rs
All checks were successful
Gentoo Utils / build-oci-image (pull_request) Successful in 9s
Gentoo Utils / build (pull_request) Successful in 32s
Gentoo Utils / build-oci-image (push) Successful in 9s
Gentoo Utils / build (push) Successful in 33s
2025-12-11 21:57:59 +00:00
031dd71cf3 fix warnings in fuzzers 2025-12-11 21:55:12 +00:00
a8e2bfbb3c commit rust-project.json
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Successful in 34s
2025-12-11 21:51:45 +00:00
ba79fbe06d run all tests in check_commands.txt verbosely
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Successful in 31s
2025-12-11 02:11:11 +00:00
e06415fb7b run CI when pushing to any branch
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Successful in 31s
2025-12-08 22:24:12 +00:00
0366c6234a handle Manifest.gz files in repos
All checks were successful
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Successful in 32s
Gentoo Utils / build-oci-image (pull_request) Successful in 8s
Gentoo Utils / build (pull_request) Successful in 32s
2025-12-08 22:18:39 +00:00
217d80da7f run all tests in check_commands.txt
Some checks failed
Gentoo Utils / build-oci-image (push) Successful in 8s
Gentoo Utils / build (push) Failing after 25s
2025-12-08 21:24:25 +00:00
53f2798549 add rustfmt target
Some checks failed
Gentoo Utils / build-oci-image (push) Successful in 9s
Gentoo Utils / build (push) Failing after 27s
2025-12-08 21:23:38 +00:00
160b27e6b0 remove cbindgen from meson deps and dockerfile
Some checks failed
Gentoo Utils / build-oci-image (push) Successful in 5m28s
Gentoo Utils / build (push) Failing after 1m46s
2025-12-08 01:40:30 +00:00
f279f75a19 hookup atom parser fuzzer to read and write to stdin/stdout 2025-12-08 01:40:25 +00:00
35b81e40cc give fuzzer library targets different names
If these targets have the same names, only the last processed target
gets put into rust-project.json.
2025-12-08 01:28:20 +00:00
e755e8c55d configure fuzzers separately 2025-12-08 01:28:20 +00:00
ab48b71eaa infra: formatting + debug in check changes step
Some checks failed
Gentoo Utils / build (push) Has been cancelled
Gentoo Utils / build-oci-image (push) Has been cancelled
2025-12-07 22:52:35 +00:00
fe26fe3507 infra: add default branch name to outputs 2025-12-07 22:52:34 +00:00