mirror of
https://github.com/colbymchenry/codegraph.git
synced 2026-10-20 07:22:06 +08:00
test(release): validate Linux candidate and packages on isolated runner
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
name: Linux release candidate validation
|
||||
on:
|
||||
push:
|
||||
branches: [candidate/extensions-release-20260923]
|
||||
paths:
|
||||
- '.github/workflows/release-linux-candidate.yml'
|
||||
- 'docs/validation/release-package-proof.cjs'
|
||||
- 'docs/validation/release-command.py'
|
||||
- 'docs/validation/release-linux-shards.py'
|
||||
permissions:
|
||||
contents: read
|
||||
jobs:
|
||||
linux:
|
||||
if: github.repository == 'colbymchenry/codegraph'
|
||||
runs-on: ubuntu-24.04
|
||||
timeout-minutes: 40
|
||||
env:
|
||||
CODEGRAPH_TELEMETRY: '0'
|
||||
npm_config_cache: ${{ github.workspace }}/.qa/npm-cache
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: '22.23.2'
|
||||
- run: npm ci --no-audit --no-fund
|
||||
- name: Build coherent archive
|
||||
run: python3 docs/validation/release-command.py release-linux-bundle bash scripts/build-bundle.sh linux-x64 v24.16.0
|
||||
- name: Assemble npm packages
|
||||
run: python3 docs/validation/release-command.py release-linux-pack bash scripts/pack-npm.sh
|
||||
- name: Actual archive and npm CLI, SDK, extension lifecycle and companion
|
||||
run: python3 docs/validation/release-command.py release-linux-package node docs/validation/release-package-proof.cjs
|
||||
- name: Full Linux regression with exactly-once coverage
|
||||
if: success() || failure()
|
||||
run: python3 docs/validation/release-linux-shards.py "$GITHUB_SHA"
|
||||
- name: Compiled workers and native paths
|
||||
if: success() || failure()
|
||||
run: |
|
||||
python3 docs/validation/release-command.py release-linux-workers node --test scripts/validation/extensions-runtime.test.cjs
|
||||
python3 docs/validation/release-command.py release-linux-paths node scripts/validation/native-paths.cjs
|
||||
- name: Semantic update recovery
|
||||
if: success() || failure()
|
||||
env:
|
||||
SEMANTIC_RECOVERY_OUTPUT: .qa/release-semantic-recovery
|
||||
run: python3 docs/validation/release-command.py release-linux-semantic node scripts/validation/semantic-update-recovery.cjs
|
||||
- name: Managed extension recovery
|
||||
if: success() || failure()
|
||||
env:
|
||||
RECOVERY_OUTPUT: .qa/release-managed-recovery
|
||||
run: python3 docs/validation/release-command.py release-linux-managed node scripts/validation/extensions-recovery.cjs
|
||||
- name: Managed recovery with custom directory
|
||||
if: success() || failure()
|
||||
env:
|
||||
CODEGRAPH_DIR: .codegraph-release
|
||||
RECOVERY_OUTPUT: .qa/release-managed-custom
|
||||
run: python3 docs/validation/release-command.py release-linux-managed-custom node scripts/validation/extensions-recovery.cjs
|
||||
- name: Retain exact candidate evidence and artifacts
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: release-linux-${{ github.sha }}-${{ github.run_attempt }}
|
||||
include-hidden-files: true
|
||||
retention-days: 7
|
||||
path: |
|
||||
.qa/recovery/
|
||||
.qa/release-package/
|
||||
.qa/release-full/
|
||||
.qa/release-semantic-recovery/
|
||||
.qa/release-managed-recovery/
|
||||
.qa/release-managed-custom/
|
||||
release/codegraph-linux-x64.tar.gz
|
||||
Reference in New Issue
Block a user