Repository navigation
63 lines (59 loc) · 2.35 KB
/
Copy pathfork-pr-check.yml
File metadata and controls
63 lines (59 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
name: Fork PR check
# Runs the same gate as the fork nightly release on every PR into the release
# branch, on GitHub-hosted runners (the upstream CI workflow needs Blacksmith
# runners this fork does not have). Branch protection requires this check.
on:
pull_request:
workflow_dispatch:
permissions:
contents: read
concurrency:
group: fork-pr-check-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
validate:
name: Validate release
if: github.repository == 'jayleaton/ada'
runs-on: ubuntu-24.04
timeout-minutes: 40
steps:
- uses: actions/checkout@v6
with:
sparse-checkout: |
/*
!/.repos/
sparse-checkout-cone-mode: false
- uses: voidzero-dev/setup-vp@250f29ce396baf5e8f24498e17c0dfdebabc26eb
with:
node-version-file: package.json
run-install: false
- name: Install dependencies
env:
NODE_ENV: development
run: vp install --frozen-lockfile
- name: Install Electron before parallel tests
working-directory: apps/desktop
run: node -e "require('electron')"
# The agents tests include browser tests that run in headless Chromium,
# installed the same way as upstream CI's Test Web job.
- name: Resolve Playwright version
id: playwright_version
run: echo "version=$(node -p "require('./apps/web/node_modules/playwright/package.json').version")" >> "$GITHUB_OUTPUT"
- name: Cache Chromium
id: chromium_cache
uses: actions/cache@v6
with:
path: ~/.cache/ms-playwright
key: playwright-chromium-shell-${{ runner.os }}-${{ runner.arch }}-${{ steps.playwright_version.outputs.version }}
- name: Install Chromium for web browser tests
if: steps.chromium_cache.outputs.cache-hit != 'true'
run: node apps/web/node_modules/playwright/cli.js install --only-shell chromium
- name: Install missing Chromium system dependencies
run: |
browser=$(find "$HOME/.cache/ms-playwright" -name chrome-headless-shell -type f -print -quit)
test -n "$browser"
if ldd "$browser" | grep '=> not found'; then
node apps/web/node_modules/playwright/cli.js install-deps chromium
fi
- name: Validate release
run: scripts/fork-release-validate.sh