Files
ConformalLabpp/.woodpecker.yml
Tarik Moussa a3a7c2228f
All checks were successful
C++ Tests / test-fast (push) Successful in 3m8s
C++ Tests / quality-gates (push) Has been skipped
API Docs / doc-build (push) Has been skipped
Markdown link check / check (push) Has been skipped
C++ Tests / test-cgal (push) Has been skipped
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>
2026-06-04 10:48:33 +02:00

32 lines
1.1 KiB
YAML

# 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