dee3a8f64006d1dbc77e729ecfd0d713965da967
15
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
789ae8cbb9 |
ci: install clang/LLVM 21 in Gitea Actions workflows
CI / pre-commit (push) Successful in 2m12s
CI / release (arm64, ubuntu-latest-arm64) (push) Failing after 3m14s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 3m37s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 3m49s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 3m30s
CI / release (amd64, ubuntu-latest-amd64) (push) Successful in 4m58s
CI / coverage (push) Successful in 3m48s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 3m47s
Switch all CI jobs from the distro-packaged clang to the apt.llvm.org clang-21 / llvm-21 toolchain, and register the versioned binaries as alternatives so that CC/CXX=clang/clang++ and tools like llvm-cov and llvm-objcopy use the newer release automatically. |
||
|
|
6d8b939a81 |
Replace CI Docker image with inline apt installs
CI / release (arm64, ubuntu-latest-arm64) (push) Successful in 3m32s
CI / pre-commit (push) Successful in 2m8s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 3m39s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 3m33s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 3m39s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 3m35s
CI / release (amd64, ubuntu-latest-amd64) (push) Failing after 4m28s
CI / coverage (push) Failing after 3m21s
Drops the build-image job and the private registry dependency entirely. Each job now installs only the packages it needs, caching /var/cache/apt/archives keyed on the workflow file and ~/.cache/pre-commit keyed on .pre-commit-config.yaml. |
||
|
|
48f9ee46cf |
Pin CI steps that use bashisms to bash
CI / build-image (arm64, ubuntu-latest-arm64) (push) Successful in 5m45s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Successful in 5m48s
CI / release (arm64, ubuntu-latest-arm64) (push) Successful in 2m56s
CI / pre-commit (push) Successful in 2m15s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 2m42s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 2m36s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 2m46s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 2m37s
CI / release (amd64, ubuntu-latest-amd64) (push) Successful in 3m0s
CI / coverage (push) Successful in 2m47s
CI / build-image (arm64, ubuntu-latest-arm64) (pull_request) Failing after 18s
CI / build-image (amd64, ubuntu-latest-amd64) (pull_request) Failing after 48s
CI / pre-commit (pull_request) Has been skipped
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (pull_request) Has been skipped
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (pull_request) Has been skipped
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (pull_request) Has been skipped
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (pull_request) Has been skipped
CI / release (amd64, ubuntu-latest-amd64) (pull_request) Has been skipped
CI / release (arm64, ubuntu-latest-arm64) (pull_request) Has been skipped
CI / coverage (pull_request) Has been skipped
|
||
|
|
1394a1a98f |
Print test summaries to the step log too
CI / build-image (arm64, ubuntu-latest-arm64) (push) Successful in 20s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Successful in 42s
CI / pre-commit (push) Successful in 33s
CI / release (arm64, ubuntu-latest-arm64) (push) Successful in 1m22s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 2m43s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 2m36s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 2m44s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 2m36s
CI / release (amd64, ubuntu-latest-amd64) (push) Failing after 2m42s
CI / coverage (push) Failing after 2m29s
Gitea doesn't render GITHUB_STEP_SUMMARY yet (https://github.com/go-gitea/gitea/issues/36098), so tee the summary into the log where it's actually visible. Keep writing the summary file so it lights up if Gitea ships the feature. |
||
|
|
c52339a2ba |
Add markdown test summaries and a coverage HTML report to CI
CI / build-image (arm64, ubuntu-latest-arm64) (push) Successful in 24s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Successful in 42s
CI / pre-commit (push) Successful in 33s
CI / release (arm64, ubuntu-latest-arm64) (push) Failing after 1m4s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 2m42s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 2m37s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 2m47s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 2m36s
CI / release (amd64, ubuntu-latest-amd64) (push) Failing after 2m42s
CI / coverage (push) Has been cancelled
ctest_summary.py renders a Test.xml as markdown for GITHUB_STEP_SUMMARY: a one-liner when everything passes, otherwise the first few failures inline with a link to the full Test.xml on MinIO. It's also usable locally with --all to list every failure from a downloaded Test.xml. The coverage job now also generates and uploads gcovr's html-details report and links it from the step summary. |
||
|
|
3a82d90914 |
Work around arm64 clang codegen issues breaking CI
CI / build-image (arm64, ubuntu-latest-arm64) (push) Successful in 22s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Successful in 42s
CI / pre-commit (push) Successful in 34s
CI / release (arm64, ubuntu-latest-arm64) (push) Failing after 1m7s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Successful in 2m35s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Successful in 2m27s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Successful in 2m35s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Successful in 2m27s
CI / release (amd64, ubuntu-latest-amd64) (push) Failing after 2m32s
CI / coverage (push) Failing after 2m20s
Disable preserve_none under ASan on aarch64: every clang tested (20, 21, trunk 22) miscompiles the continuation chains with that combination, crashing ~97% of fuzz corpus tests. The chains still work with the default calling convention. See #38. Mark the masked Node3 scan results defined for valgrind on aarch64: clang 21+ lowers the in-bounds tests through flags+csel, which memcheck models imprecisely, tainting bits the mask provably clears. See #39. Skip valgrind tests in the arm64 release job, since -DNVALGRIND compiles out the client requests the workaround relies on. Both issues track filing upstream bugs. |
||
|
|
0921d8fedf |
Fix arch-specific hardening_check and guard CI package upload globs
hardening-check tests both CET (x86-only) and branch protection (arm64-only), so pass the ignore flag for whichever doesn't apply to the build arch. The release upload step runs with if: always() so test results are uploaded even when an earlier step fails, but in that case cpack never ran and mc errored on the unmatched package globs. Skip missing packages instead. |
||
|
|
13e9e88e0e |
Pass registry credentials via env instead of script interpolation
CI / build-image (arm64, ubuntu-latest-arm64) (push) Successful in 1m29s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Successful in 1m50s
CI / pre-commit (push) Failing after 1m38s
CI / release (arm64, ubuntu-latest-arm64) (push) Failing after 1m49s
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Failing after 42s
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Failing after 42s
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Failing after 41s
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Failing after 41s
CI / release (amd64, ubuntu-latest-amd64) (push) Failing after 47s
CI / coverage (push) Failing after 44s
Template interpolation embeds the secret in the generated script file; env indirection keeps it out of argv and off disk. |
||
|
|
12a62a91cf |
Track the CI image hash with a label instead of a tag
CI / build-image (arm64, ubuntu-latest-arm64) (push) Failing after 3m47s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Failing after 3m47s
CI / pre-commit (push) Has been skipped
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been skipped
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been skipped
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been skipped
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been skipped
CI / release (amd64, ubuntu-latest-amd64) (push) Has been skipped
CI / release (arm64, ubuntu-latest-arm64) (push) Has been skipped
CI / coverage (push) Has been skipped
Pushing per-hash tags accumulates multi-GB versions in the registry,
and package cleanup rules can't distinguish the hash tags that the
latest-{arch} tags currently point to from stale ones. Push only
latest-{arch} and record the Dockerfile hash as an image label; the
skip-rebuild check reads the label back via buildx imagetools.
|
||
|
|
04d02261e9 |
Install clang from Ubuntu and push image from buildx
CI / pre-commit (push) Has been cancelled
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been cancelled
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been cancelled
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been cancelled
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been cancelled
CI / release (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / release (arm64, ubuntu-latest-arm64) (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / build-image (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / build-image (arm64, ubuntu-latest-arm64) (push) Has been cancelled
apt.llvm.org has no repository for the current ubuntu:rolling release, and nothing pins clang 20 - CC=clang already resolved to the distro clang. Drop the llvm.sh step along with its helper packages. docker build now runs under the buildx docker-container driver, which keeps the result in the build cache unless told otherwise, so push directly from the build instead of tagging locally. |
||
|
|
dd8f006d3f |
Remove docker socket debug step and unneeded sudo
Jobs run as root in the job container; the earlier permission errors were SELinux denials on the mounted podman socket, fixed in the runner config with --security-opt label=disable. |
||
|
|
776d06963b |
Add temporary docker socket debug step
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been skipped
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been skipped
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been skipped
CI / release (arm64, ubuntu-latest-arm64) (push) Has been skipped
CI / build-image (amd64, ubuntu-latest-amd64) (push) Failing after 55s
CI / pre-commit (push) Has been cancelled
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been cancelled
CI / release (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / build-image (arm64, ubuntu-latest-arm64) (push) Has been cancelled
|
||
|
|
e03afe0651 |
Run docker with sudo in build-image
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been skipped
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been skipped
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been skipped
CI / release (arm64, ubuntu-latest-arm64) (push) Has been skipped
CI / build-image (amd64, ubuntu-latest-amd64) (push) Failing after 2s
CI / build-image (arm64, ubuntu-latest-arm64) (push) Failing after 21s
CI / pre-commit (push) Has been skipped
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been skipped
CI / release (amd64, ubuntu-latest-amd64) (push) Has been skipped
CI / coverage (push) Has been skipped
The default job image runs as a non-root user that lacks access to the mounted docker socket. |
||
|
|
6eecf6e4ac |
Use a registry bot account for the container registry
CI / build-image (arm64, ubuntu-latest-arm64) (push) Failing after 21s
CI / pre-commit (push) Has been cancelled
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been cancelled
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been cancelled
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been cancelled
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been cancelled
CI / release (amd64, ubuntu-latest-amd64) (push) Has been cancelled
CI / release (arm64, ubuntu-latest-arm64) (push) Has been cancelled
CI / coverage (push) Has been cancelled
CI / build-image (amd64, ubuntu-latest-amd64) (push) Has been cancelled
Gitea's ephemeral Actions token is not accepted by the container registry, so docker login and image pulls use REGISTRY_USER / REGISTRY_TOKEN secrets (a dedicated low-privilege account and its personal access token with package read/write scope) instead. |
||
|
|
d74a12b5a4 |
Convert Jenkins CI to Gitea Actions
CI / build-image (arm64, ubuntu-latest-arm64) (push) Failing after 19s
CI / build-image (amd64, ubuntu-latest-amd64) (push) Failing after 37s
CI / pre-commit (push) Has been skipped
CI / test (-DCMAKE_BUILD_TYPE=Debug, debug) (push) Has been skipped
CI / test (-DCMAKE_CXX_FLAGS=-DUSE_64_BIT=1, 64-bit-versions) (push) Has been skipped
CI / test (-DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++, gcc) (push) Has been skipped
CI / test (-DUSE_SIMD_FALLBACK=ON, simd-fallback) (push) Has been skipped
CI / release (amd64, ubuntu-latest-amd64) (push) Has been skipped
CI / release (arm64, ubuntu-latest-arm64) (push) Has been skipped
CI / coverage (push) Has been skipped
Replace the Jenkinsfile with .gitea/workflows/ci.yml. The CI image is built from the Dockerfile and pushed to the Gitea container registry, rebuilt only when the Dockerfile or pre-commit config changes. The aarch64 release build now runs natively on an arm64 runner instead of cross-compiling, so the cross toolchain and qemu are dropped from the image. Artifacts still go to MinIO (via mc, skipped gracefully if credentials are not configured); ccache uses actions/cache instead of a host volume. |