install chromium from registry #4612
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
on: [push] | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
jobs: | |
coverage: | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
- name: Get contract addresses | |
run: 'parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm tenv start --no-graph --no-scripts --no-build --exit-after-deploy" \ | |
"pnpm wait-on ./.env.local"' | |
- run: pnpm test:coverage | |
build-stateless: | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
- name: Get contract addresses | |
run: 'parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm tenv start --no-graph --no-scripts --no-build --exit-after-deploy" \ | |
"pnpm wait-on ./.env.local"' | |
- name: Build stateless and export | |
run: pnpm build:glocal && pnpm export | |
- name: Tar stateless files | |
run: tar -cvf stateless-build.tar out | |
- name: Upload stateless | |
uses: actions/upload-artifact@v4 | |
with: | |
name: stateless-build | |
path: stateless-build.tar | |
build-stateful: | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
- name: Build stateful and export | |
run: pnpm build && pnpm export | |
- name: Tar stateful files | |
run: tar -cvf stateful-build.tar out | |
- name: Upload stateful | |
uses: actions/upload-artifact@v4 | |
with: | |
name: stateful-build | |
path: stateful-build.tar | |
setup-chrome: | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
outputs: | |
chrome_path: ${{ steps.chrome-setup.outputs.chrome_path }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Chrome | |
id: chrome-setup | |
run: | | |
./scripts/check-chrome.sh | |
echo "chrome_path=${PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH}" >> $GITHUB_OUTPUT | |
- name: Cache Chrome | |
uses: useblacksmith/cache@v5 | |
with: | |
path: /usr/local/chrome | |
key: chrome-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('scripts/check-chrome.sh') }} | |
stateless: | |
name: stateless (${{matrix.shard}}) | |
needs: [build-stateless, setup-chrome] | |
timeout-minutes: 20 | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
strategy: | |
matrix: | |
shard: [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] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
- name: Restore Chrome | |
uses: useblacksmith/cache@v5 | |
with: | |
path: /usr/local/chrome | |
key: chrome-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('scripts/check-chrome.sh') }} | |
- run: pnpm rebuild -r | |
- name: Download build | |
id: download | |
uses: actions/download-artifact@v4 | |
with: | |
name: stateless-build | |
merge-multiple: true | |
- name: Untar files | |
run: tar -xvf stateless-build.tar | |
- name: Install Playwright deps | |
run: | | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npx playwright install | |
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=${{ needs.setup-chrome.outputs.chrome_path }} npx playwright install-deps chromium | |
- name: Run tests | |
run: | | |
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=${{ needs.setup-chrome.outputs.chrome_path }} \ | |
PLAYWRIGHT_SHARD=${{matrix.shard}} \ | |
PLAYWRIGHT_TOTAL=${{strategy.job-total}} \ | |
pnpm e2e:ci --no-build | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: stateless-report-${{matrix.shard}} | |
path: playwright-report/ | |
retention-days: 30 | |
overwrite: true | |
stateful: | |
name: stateful (${{matrix.shard}}) | |
needs: [build-stateful, setup-chrome] | |
timeout-minutes: 10 | |
runs-on: blacksmith-4vcpu-ubuntu-2204-arm | |
strategy: | |
matrix: | |
shard: [1, 2, 3] | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/setup | |
- name: Restore Chrome | |
uses: useblacksmith/cache@v5 | |
with: | |
path: /usr/local/chrome | |
key: chrome-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles('scripts/check-chrome.sh') }} | |
- run: pnpm rebuild -r | |
- name: Download build | |
id: download | |
uses: actions/download-artifact@v4 | |
with: | |
name: stateful-build | |
- name: Untar files | |
run: tar -xvf stateful-build.tar | |
- name: Install Playwright deps | |
run: | | |
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 npx playwright install | |
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=${{ needs.setup-chrome.outputs.chrome_path }} npx playwright install-deps chromium | |
- name: Run tests | |
run: | | |
PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=${{ needs.setup-chrome.outputs.chrome_path }} \ | |
parallel --lb --halt now,success=1,fail=1 ::: \ | |
"pnpm wrangle" \ | |
"pnpm wait-on http://127.0.0.1:8788 && npx playwright test --shard=${{matrix.shard}}/${{strategy.job-total}} --project=stateful" | |
env: | |
SECRET_WORDS: ${{ secrets.SECRET_WORDS }} | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: stateful-report-${{matrix.shard}} | |
path: playwright-report/ | |
retention-days: 30 |