Files

37 lines
1.3 KiB
YAML

name: Release Candidate
on:
workflow_run:
workflows: [CI]
branches: [main]
types: [completed]
jobs:
package:
name: Build verified release candidate
runs-on: ubuntu-latest
timeout-minutes: 30
if: github.event.workflow_run.conclusion == 'success'
permissions:
contents: read
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: npm
- run: npm ci
- run: python3 packages/casan-harness/scripts/bash/project_manifest.py run --root . --manifest apps/okr/domain/project.manifest.json --kind build
- name: Package immutable application artifacts
run: tar -czf okr-release-candidate.tgz apps/okr/backend/dist apps/okr/frontend/dist apps/okr/domain/project.manifest.json
- uses: actions/upload-artifact@v4
with:
name: okr-release-candidate-${{ github.event.workflow_run.head_sha }}
path: okr-release-candidate.tgz
if-no-files-found: error
retention-days: 14
# Environment deployment is intentionally adapter-owned. Add a separate job
# protected by the GitHub `production` environment when the target platform,
# workload identity, health check, and rollback command are approved.