Files
acdl/.gitea/workflows/pipeline.yml
T
Jon Chery b953fd4a8e docs(P01): complete repo-scaffolding phase
---ci---
phase: 1
milestone: v1.0
status: complete
requirements:
  covered: [REQ-01, REQ-09]
  partial: [REQ-10, REQ-12]
---/ci---

Squash merge of phase/01-repo-scaffolding into milestone/v1.0-initial.
Phase 01 ships the three-repo scaffold (acdl, acdl-contracts, acdl-evidence),
the placeholder index.html on acdl-evidence (D-012/D-016 raw-URL substitute
for unsupported Gitea Pages), the qa + prod branches on acdl-contracts
(D-013 stand-in for unsupported Gitea environments), the workflow skeletons
(pipeline.yml + issue-to-contract.yml), and the idempotent setup + verify
scripts. REQ-10/12 remain partial pending Phase 04 full implementation.
2026-07-21 13:10:50 +00:00

75 lines
2.5 KiB
YAML

# ACDL reusable pipeline workflow (Phase 01 skeleton).
#
# This workflow is called from acdl-contracts via:
# uses: continuous-intelligence/acdl/.gitea/workflows/pipeline.yml@milestone/v1.0-initial
#
# Branch pinning rule (see .ciagent/ARCHITECTURE.md): the `acdl` repo's default
# branch is `milestone/v1.0-initial`, so `uses:` references must pin to
# `@milestone/v1.0-initial`, NOT `@main`.
#
# Phase 04 will implement the actual stage logic + approval gates (D-013:
# Gitea has no environments API; gates become workflow_dispatch approval
# inputs).
name: acdl-pipeline
on:
workflow_call:
inputs:
contract-ref:
description: "Ref on acdl-contracts that triggered the pipeline"
required: false
type: string
default: main
jobs:
dev:
name: "Dev (autonomous)"
runs-on: ubuntu-latest
steps:
# Phase 04 will implement: checkout acdl + acdl-contracts, run
# policy_checker.py, mock_executor.sh, confidence_signal.py, write
# evidence via evidence_writer.py.
- name: "Dev stage placeholder"
run: |
echo "Dev stage placeholder (Phase 01 skeleton)"
echo "Phase 04 will run policy_checker, mock_executor, confidence_signal, evidence_writer"
exit 0
qa-gate:
name: "QA (manual approval)"
needs: dev
runs-on: ubuntu-latest
steps:
# Phase 04 will implement: gate via workflow_dispatch approval input
# (D-013 fallback; Gitea ignores jobs.<id>.environment).
- name: "QA gate placeholder"
run: |
echo "QA gate placeholder (Phase 01 skeleton)"
echo "Phase 04 will pause here for human approval via workflow_dispatch"
exit 0
prod-gate:
name: "Prod (manual approval)"
needs: qa-gate
runs-on: ubuntu-latest
steps:
# Phase 04 will implement: same approval-input gate as qa-gate.
- name: "Prod gate placeholder"
run: |
echo "Prod gate placeholder (Phase 01 skeleton)"
echo "Phase 04 will pause here for human approval via workflow_dispatch"
exit 0
finalize:
name: "Finalize (publish evidence)"
needs: prod-gate
runs-on: ubuntu-latest
steps:
# Phase 04/05 will implement: commit audit.json to acdl-evidence main
# via the Gitea file-contents API; raw URL republishes index.html +
# audit.json for the timeline UI (D-012).
- name: "Finalize placeholder"
run: |
echo "Finalize placeholder (Phase 01 skeleton)"
echo "Phase 04/05 will commit audit.json to acdl-evidence main"
exit 0