BREAKING CHANGE: update to eye v11.0.1\n\nBREAKING CHANGE: This update includes breaking changes to eye. #3563
Workflow file for this run
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
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions | |
name: Node.js CI | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- run: npm ci | |
- run: npm run build | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
test: | |
needs: build | |
strategy: | |
matrix: | |
node-version: [18.x, 19.x, 20.x, 21.x, 22.x] | |
os: [ ubuntu-latest, macos-latest, windows-latest ] | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 60 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Use Node.js ${{ matrix.node-version }} on ${{ matrix.os }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm ci | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- run: npx playwright install | |
- run: npm test | |
benchmark: | |
needs: build | |
strategy: | |
matrix: | |
node-version: [ 22.x ] | |
os: [ ubuntu-latest ] | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: write | |
pages: write | |
issues: write | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Benchmarking Node.js ${{ matrix.node-version }} on ${{ matrix.os }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node-version }} | |
- run: npm ci | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- name: Run benchmark | |
run: npm run perf | |
- name: Store benchmark result | |
uses: benchmark-action/github-action-benchmark@v1 | |
with: | |
name: EYE JS Benchmark | |
tool: 'benchmarkjs' | |
output-file-path: perf/output.txt | |
github-token: ${{ github.token }} | |
comment-on-alert: ${{ ! contains(github.head_ref, 'dependabot/npm_and_yarn/') }} | |
alert-comment-cc-users: '@jeswr' | |
alert-threshold: "110%" | |
fail-threshold: "125%" | |
gh-pages-branch: pages | |
auto-push: ${{ github.ref == 'refs/heads/main' }} | |
save-data-file: ${{ github.ref == 'refs/heads/main' }} | |
eslint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- name: npm install and lint | |
run: | | |
npm ci | |
npm run-script lint | |
release: | |
if: ${{ github.ref == 'refs/heads/main' }} | |
needs: [ eslint, test, benchmark ] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22.x | |
- run: npm ci | |
- uses: actions/download-artifact@v4 | |
with: | |
name: dist | |
path: dist | |
- run: mkdir ./bundle | |
- name: "Create Bundle" | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
run: | | |
version=$(npx semantic-release --dry-run | grep -oP 'The next release version is \K[0-9]+\.[0-9]+\.[0-9]+') || true | |
if [ $version ] | |
then | |
npm run bundle:webpack -- --name=v$version | |
npm run bundle:latest -- --name=v$version | |
cp -r ./examples/prebuilt/ bundle/example/ | |
fi | |
- name: Release | |
env: | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} | |
run: npx semantic-release |