puppeteer/.github/workflows/tot-ci.yml

55 lines
1.8 KiB
YAML
Raw Normal View History

2022-05-31 12:55:46 +00:00
name: ToT CI
# Checks Puppeteer against the latest ToT build of Chromium.
# Declare default permissions as read only.
permissions: read-all
on:
workflow_dispatch:
schedule:
# * is a special character in YAML so you have to quote this string
# Supposed to be every day at 8 am (UTC).
- cron: '0 8 * * *'
# TODO: how to make install & build steps re-usable across jobs.
# Currently, the install step is duplicated but should be the same for all jobs.
jobs:
2022-10-17 11:11:53 +00:00
ci:
name: ${{ matrix.suite }} tests
runs-on: ubuntu-latest
strategy:
2022-10-17 11:11:53 +00:00
fail-fast: false
matrix:
2022-10-17 11:11:53 +00:00
suite:
- chrome-headless
- chrome-headful
- chrome-new-headless
steps:
2022-10-06 10:44:45 +00:00
- name: Check out repository
uses: actions/checkout@v3.0.2
- name: Set up Node.js
chore(deps): bump actions/setup-node from 3.4.1 to 3.5.1 (#9114) Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3.4.1 to 3.5.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/actions/setup-node/releases">actions/setup-node's releases</a>.</em></p> <blockquote> <h2>Update <code>@​actions/core</code> and Print Node, Npm, Yarn versions</h2> <p>In scope of this release we updated <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/587">actions/core to 1.10.0</a>. Moreover, we added logic <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/368">to print Nodejs, Npm, Yarn versions</a> after installation.</p> <h2>Add support for engines.node and Volta</h2> <p>In scope of this release we add support for engines.node. The action will be able to grab the version form package.json#engines.node. <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/485">actions/setup-node#485</a>. Moreover, we <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/532">added support for Volta</a></p> <p>Besides, we updated <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/574"><code>@​actions/core</code> to 1.9.1</a> and <a href="https://github-redirect.dependabot.com/actions/setup-node/pull/573"><code>@​actions/cache</code> to 3.0.4</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/actions/setup-node/commit/8c91899e586c5b171469028077307d293428b516"><code>8c91899</code></a> Update <code>@​actions/core</code> to 1.10.0 (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/587">#587</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/c81d8ad96dab0a834a87f7a0300b154386f2e26a"><code>c81d8ad</code></a> Print node, npm and yarn versions after installation (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/368">#368</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/c96ab56c5b0ebc955a5dd6bb6f1813c2f91b8658"><code>c96ab56</code></a> Add information about always-auth input (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/585">#585</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/969bd2663942d722d85b6a8626225850c2f7be4b"><code>969bd26</code></a> Fix test volta priority (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/577">#577</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/9f3a02bbd17adc05b078145bb8f676c84be77e89"><code>9f3a02b</code></a> Merge pull request <a href="https://github-redirect.dependabot.com/actions/setup-node/issues/532">#532</a> from jef/main</li> <li><a href="https://github.com/actions/setup-node/commit/4cffe5c52b4c7a58d230a4f51f534a7bf0f1dfce"><code>4cffe5c</code></a> chore: remove sponge usage</li> <li><a href="https://github.com/actions/setup-node/commit/0efefb3c0b635aa27a368ae8b1eb60345072b977"><code>0efefb3</code></a> Merge remote-tracking branch 'upstream/main'</li> <li><a href="https://github.com/actions/setup-node/commit/1e6f2cd3121764f4065a4f231bbc7222d7ffc0a4"><code>1e6f2cd</code></a> test: add volta e2e test</li> <li><a href="https://github.com/actions/setup-node/commit/30f0e7dc5aa0e546410a28dc80a10d8114ee873e"><code>30f0e7d</code></a> Update <code>@​actions/core</code> to 1.9.1 (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/574">#574</a>)</li> <li><a href="https://github.com/actions/setup-node/commit/c8f0d105851628358c640b5e1ba0feb8990cab50"><code>c8f0d10</code></a> upgrade <code>@action/cache</code> to 3.0.4 to fix stuck issue (<a href="https://github-redirect.dependabot.com/actions/setup-node/issues/573">#573</a>)</li> <li>Additional commits viewable in <a href="https://github.com/actions/setup-node/compare/v3.4.1...v3.5.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=3.4.1&new-version=3.5.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-10-17 12:10:52 +00:00
uses: actions/setup-node@v3.5.1
with:
2022-10-17 11:11:53 +00:00
cache: npm
node-version: latest
- name: Install dependencies
2023-03-10 07:52:48 +00:00
run: npm ci
env:
PUPPETEER_SKIP_DOWNLOAD: true
2022-10-17 11:11:53 +00:00
- name: Install linux dependencies.
run: sudo apt-get install xvfb
- name: Build packages
run: npm run build
- name: Get latest revision
run: |
REV=$(node tools/check_availability.js -p linux)
2022-10-17 11:11:53 +00:00
cat packages/puppeteer-core/src/revisions.ts | sed "s/[0-9]\{6,\}/$REV/" > packages/puppeteer-core/src/revisions.ts.replaced
mv packages/puppeteer-core/src/revisions.ts.replaced packages/puppeteer-core/src/revisions.ts
- name: Rebuild `puppeteer-core`
run: npm run build --workspace puppeteer-core
- name: Install Chrome
run: npm run postinstall --workspace puppeteer
- name: Run tests
run: xvfb-run --auto-servernum npm run test -- --test-suite ${{ matrix.suite }}