Mirror the canonical workspace layout in governance CI

The release-control audits resolve repo identity from the checkout
directory name and expect evidence repos as siblings under one repos
root. The hosted runner checked the repo out at Pulse/Pulse, so
canonical_repo_id returned Pulse instead of pulse and the registry
audit treated every local file reference as untracked (2655 errors).
Check out the main repo at repos/pulse and the evidence repos as
repos/pulse-pro, repos/pulse-enterprise, and repos/pulse-mobile, run
all steps from repos/pulse, and point the PULSE_REPO_ROOT_* env vars
at the new paths.
This commit is contained in:
rcourtman 2026-07-07 22:41:38 +01:00
parent 6c181f5f82
commit 0ad22fe2d5

View file

@ -15,11 +15,19 @@ permissions:
jobs:
governance:
runs-on: ubuntu-24.04
# The release-control audits resolve the workspace layout from the
# local checkout: the repo directory must be named exactly "pulse"
# (the canonical repo id) and the evidence repos must be checked out
# as siblings, mirroring <workspace>/repos/<repo-id> on dev machines.
defaults:
run:
working-directory: repos/pulse
steps:
- name: Checkout repository
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
path: repos/pulse
- name: Checkout pulse-pro evidence repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@ -28,7 +36,7 @@ jobs:
token: ${{ secrets.WORKFLOW_PAT }}
persist-credentials: false
fetch-depth: 1
path: .governance/repos/pulse-pro
path: repos/pulse-pro
- name: Checkout pulse-enterprise evidence repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@ -37,7 +45,7 @@ jobs:
token: ${{ secrets.WORKFLOW_PAT }}
persist-credentials: false
fetch-depth: 1
path: .governance/repos/pulse-enterprise
path: repos/pulse-enterprise
- name: Checkout pulse-mobile evidence repo
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
@ -46,13 +54,14 @@ jobs:
token: ${{ secrets.WORKFLOW_PAT }}
persist-credentials: false
fetch-depth: 1
path: .governance/repos/pulse-mobile
path: repos/pulse-mobile
- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version-file: go.mod
go-version-file: repos/pulse/go.mod
cache: true
cache-dependency-path: repos/pulse/go.sum
- name: Determine governance diff range
id: diff
@ -83,18 +92,18 @@ jobs:
- name: Run status audit
env:
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/.governance/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/.governance/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/.governance/repos/pulse-mobile
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}/repos/pulse
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/repos/pulse-mobile
run: python3 scripts/release_control/status_audit.py --check
- name: Run control plane audit
env:
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/.governance/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/.governance/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/.governance/repos/pulse-mobile
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}/repos/pulse
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/repos/pulse-mobile
run: python3 scripts/release_control/control_plane_audit.py --check
- name: Run registry audit
@ -138,10 +147,10 @@ jobs:
- name: Run repo governance guardrail tests
env:
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/.governance/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/.governance/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/.governance/repos/pulse-mobile
PULSE_REPO_ROOT_PULSE: ${{ github.workspace }}/repos/pulse
PULSE_REPO_ROOT_PULSE_PRO: ${{ github.workspace }}/repos/pulse-pro
PULSE_REPO_ROOT_PULSE_ENTERPRISE: ${{ github.workspace }}/repos/pulse-enterprise
PULSE_REPO_ROOT_PULSE_MOBILE: ${{ github.workspace }}/repos/pulse-mobile
run: go test ./internal/repoctl -count=1
- name: Run active-target automated readiness assertion proofs