69 lines
2.5 KiB
YAML
69 lines
2.5 KiB
YAML
name: Real JavaScript recovery
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- ".github/workflows/real-javascript-recovery.yml"
|
|
- "src/javascript/recovery/**"
|
|
- "src/domain/javascript/**"
|
|
- "src/application/javascript/JavaScriptRecovery*.ts"
|
|
- "src/composition/javascriptRecovery.ts"
|
|
- "src/contracts/javascript/javascriptRecoveryToolContracts.ts"
|
|
- "src/cli/javascriptRecoveryCommands.ts"
|
|
- "src/cli/javascriptApplicationAnalysis.ts"
|
|
- "src/server/registerJavaScriptRecoveryTool.ts"
|
|
- "src/server/createServer.ts"
|
|
- "src/server/sessionAvailabilityPolicy.ts"
|
|
- "src/application/CapabilityInventory.ts"
|
|
- "src/cli.ts"
|
|
- "src/cliCommandNames.ts"
|
|
- "src/contracts/toolContracts.ts"
|
|
- "src/contracts/toolEffects.ts"
|
|
- "scripts/rea.mjs"
|
|
- "src/process/**"
|
|
- "src/artifacts/SafeOutputTree.ts"
|
|
- "scripts/verify/javascript/recovery.mjs"
|
|
- "scripts/fixtures/javascript-recovery/**"
|
|
- "third_party/wakaru"
|
|
- "package.json"
|
|
- "package-lock.json"
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: javascript-recovery-${{ github.event.pull_request.number || github.ref }}
|
|
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
|
|
env:
|
|
HUSKY: "0"
|
|
NODE_OPTIONS: "--max-old-space-size=768"
|
|
RAYON_NUM_THREADS: "1"
|
|
|
|
jobs:
|
|
real-javascript-recovery:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 24
|
|
cache: npm
|
|
- run: npm ci
|
|
- name: Fetch pinned Wakaru release into the job workspace
|
|
shell: bash
|
|
run: |
|
|
mkdir -p "$RUNNER_TEMP/rea-wakaru"
|
|
curl --fail --location --retry 3 https://github.com/pionxzh/wakaru/releases/download/v1.13.0/wakaru-linux-x64.tar.gz -o "$RUNNER_TEMP/rea-wakaru/release.tar.gz"
|
|
tar -xzf "$RUNNER_TEMP/rea-wakaru/release.tar.gz" -C "$RUNNER_TEMP/rea-wakaru" wakaru
|
|
printf '%s %s\n' e8c7ca052974604197389f6ace7464e4dd24dce64e2730971521bd6606ec9c9e "$RUNNER_TEMP/rea-wakaru/wakaru" | sha256sum --check
|
|
- name: Install isolated fixture compilers
|
|
run: npm install --prefix "$RUNNER_TEMP/rea-fixture-compilers" --ignore-scripts --no-audit --no-fund esbuild@0.25.10 webpack@5.101.3
|
|
- run: npm run build:cached
|
|
- run: npm run verify:javascript:recovery
|
|
env:
|
|
REA_WAKARU_COMMAND: ${{ runner.temp }}/rea-wakaru/wakaru
|
|
REA_JAVASCRIPT_FIXTURE_TOOLS: ${{ runner.temp }}/rea-fixture-compilers
|