b953fd4a8e
---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.
75 lines
2.5 KiB
YAML
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 |