ci: add Codeberg CI (Woodpecker + Forgejo) and document CI/CD topology
Add a lightweight test-fast pipeline for the public Codeberg mirror so it shows a build status, defined for both CI systems Codeberg offers: - .woodpecker.yml (Woodpecker, debian:bookworm) - .forgejo/workflows/ (Forgejo Actions, node:20-bookworm, runner label docker) Both run the pure-math suite only (Eigen vendored, GTest via FetchContent; no CGAL/Boost), using public images and the docker runner label since the private eulernest ci-cpp image and Pi runner are unreachable from Codeberg. Docs: - new doc/architecture/ci-cd.md: two-forge topology, runners, trigger keywords, mirror mechanism. - fix stale "codeberg/main ... no CI" claim in contributing.md and bring the CI table up to date. - link the new doc from the README doc index. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
31
.woodpecker.yml
Normal file
31
.woodpecker.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
# Woodpecker CI — Codeberg (https://ci.codeberg.org)
|
||||
#
|
||||
# Runs on every push / PR. Mirrors the "test-fast" job of the
|
||||
# eulernest Gitea pipeline (.gitea/workflows/cpp-tests.yml), but uses a
|
||||
# plain public Debian image instead of the private ci-cpp registry image,
|
||||
# because Codeberg's shared runners cannot pull git.eulernest.eu.
|
||||
#
|
||||
# Pure-math test suite only (Clausen, ImLi2, hyper-ideal geometry):
|
||||
# * Eigen is vendored → code/deps/eigen-3.4.0
|
||||
# * GoogleTest via FetchContent (network at configure time)
|
||||
# * No CGAL / Boost / Wayland needed → fast, headless, < 2 min
|
||||
#
|
||||
# A failing build or any failing ctest makes the Codeberg CI badge red.
|
||||
|
||||
when:
|
||||
- event: [push, pull_request]
|
||||
|
||||
steps:
|
||||
test-fast:
|
||||
image: debian:bookworm
|
||||
commands:
|
||||
- apt-get update -qq
|
||||
- >-
|
||||
apt-get install -y --no-install-recommends
|
||||
cmake g++ make git ca-certificates
|
||||
- cmake -S code -B build -DCMAKE_BUILD_TYPE=Release
|
||||
- cmake --build build --target conformallab_tests -j$(nproc)
|
||||
- >-
|
||||
ctest --test-dir build
|
||||
--output-on-failure
|
||||
--output-junit test-results.xml
|
||||
Reference in New Issue
Block a user