37 lines
1.3 KiB
YAML
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.
|