REUSE-WP-0019-T03: migrate CI to Forgejo Actions

Ported .gitea/workflows/ci.yml -> .forgejo/workflows/ci.yml, using archive
checkout (wget + apt python3) instead of actions/checkout@v4 -- this
runner substrate's ubuntu-latest label maps to docker://node:20-bookworm
with no Python preinstalled and no proven actions/checkout support
(railiance-enablement/docs/forgejo-actions-workflow-templates.md).

Added .forgejo/workflows/ci-smoke.yaml (routing probe, matches sibling
convention) and image.yaml (container build/push to
forgejo.coulomb.social/coulomb/reuse-surface, canonical single-repo
template). Added recompose-fallback.yaml: a scheduled (every 6h) call to
POST /v1/federated/compose as a backstop in case a webhook delivery is
ever missed -- the webhook (T02) is the primary path.

Removed .gitea/workflows/ci.yml (dead once origin moves to Forgejo;
matches how state-hub/activity-core/etc. were migrated -- no .gitea/
workflows left behind). Updated SCOPE.md (CI path, moved 'automatic hub
refresh' from not-possible-yet to possible-now) and the two capability
entries' evidence citations.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
tegwick 2026-07-07 21:24:39 +02:00
parent ac81490b87
commit 4862ed6250

View file

@ -1,56 +0,0 @@
name: ci
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
validate-registry:
runs-on: ubuntu-latest
steps:
- name: Check out source
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install package
run: python -m pip install -e ".[dev]"
- name: Validate capability registry
run: reuse-surface validate --relations --fail-on-warnings
- name: Compose federated index
run: reuse-surface federation compose
- name: Generate catalog and graph
run: |
reuse-surface catalog
reuse-surface graph --check --fail-on-warnings
- name: Registry maintain dry-run (informational)
run: reuse-surface maintain --all --auto --no-llm || true
- name: Registry stats (informational)
run: reuse-surface stats || true
- name: Workstation roster federation stats (informational)
run: |
reuse-surface stats --roster registry/federation/local-repo-roster.yaml \
--federation-ready --format json || true
- name: Planning cohort report (informational)
run: reuse-surface report cohorts --planning-min D4 || true
- name: Registry gap report (informational)
run: reuse-surface report gaps || true
- name: Plan-check smoke test (informational)
run: reuse-surface plan-check --intent "smoke test" --format json || true
- name: Run tests
run: pytest -q