build: fix build #4861
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
# Automate, customize, and execute your software development workflows right in your repository with GitHub Actions. | |
# Documentation: https://docs.github.com/en/actions | |
name: build | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
push: | |
branches: | |
- main | |
- develop | |
- next | |
- release/* | |
tags: | |
- '*' | |
pull_request: | |
branches: | |
- main | |
- develop | |
- next | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20] | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Load cached dependencies | |
uses: actions/[email protected] | |
id: cache | |
with: | |
path: | | |
**/node_modules | |
**/.turbo | |
/home/runner/.cache/Cypress | |
key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }} | |
- name: Install dependencies | |
id: install-dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: npm install | |
# - name: Fix code style linting errors | |
# id: lint-fix | |
# run: npm run lint:fix | |
# continue-on-error: true | |
# | |
# - name: Commit fixed linting errors | |
# id: commit | |
# uses: stefanzweifel/git-auto-commit-action@v4 | |
# with: | |
# commit_message: "ci: fix code style linting errors" | |
- name: Lint code | |
id: lint | |
run: npm run lint | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [20] | |
test-spec: | |
- { name: "Integration", spec: "./tests/cypress/integration/**/*.spec.{js,ts}" } | |
#- { name: "Demos/Commands", spec: "./demos/src/Commands/**/*.spec.{js,ts}" } | |
- { name: "Demos/Examples", spec: "./demos/src/Examples/**/*.spec.{js,ts}" } | |
- { name: "Demos/Experiments", spec: "./demos/src/Experiments/**/*.spec.{js,ts}" } | |
- { name: "Demos/Extensions", spec: "./demos/src/Extensions/**/*.spec.{js,ts}" } | |
- { name: "Demos/GuideContent", spec: "./demos/src/GuideContent/**/*.spec.{js,ts}" } | |
- { name: "Demos/GuideGettingStarted", spec: "./demos/src/GuideGettingStarted/**/*.spec.{js,ts}" } | |
#- { name: "Demos/GuideNodeViews", "./demos/src/GuideNodeViews/**/*.spec.{js,ts}" } | |
- { name: "Demos/Marks", spec: "./demos/src/Marks/**/*.spec.{js,ts}" } | |
- { name: "Demos/Nodes", spec: "./demos/src/Nodes/**/*.spec.{js,ts}" } | |
#- { name: "Demos/Overview", spec: "./demos/src/Overview/**/*.spec.{js,ts}" } | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Install dependencies | |
id: install-dependencies | |
run: npm install | |
- name: Try to build the packages | |
id: build-packages | |
run: npm run build:pm | |
- name: Test ${{ matrix.test-spec.name }} | |
id: cypress | |
uses: cypress-io/[email protected] | |
with: | |
cache-key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }} | |
start: npm run serve | |
wait-on: 'http://localhost:3000' | |
spec: ${{ matrix.test-spec.spec }} | |
project: ./tests | |
browser: chrome | |
quiet: true | |
- name: Export screenshots (on failure only) | |
uses: actions/[email protected] | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: tests/cypress/screenshots | |
retention-days: 7 | |
- name: Export screen recordings (on failure only) | |
uses: actions/[email protected] | |
if: failure() | |
with: | |
name: cypress-videos | |
path: tests/cypress/videos | |
retention-days: 7 | |
build: | |
runs-on: ubuntu-latest | |
needs: lint | |
strategy: | |
matrix: | |
node-version: [20] | |
steps: | |
- uses: actions/[email protected] | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/[email protected] | |
with: | |
node-version: ${{ matrix.node-version }} | |
- name: Load cached dependencies | |
uses: actions/[email protected] | |
id: cache | |
with: | |
path: | | |
**/node_modules | |
**/.turbo | |
/home/runner/.cache/Cypress | |
key: ${{ runner.os }}-node-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }} | |
- name: Install dependencies | |
id: install-dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: npm install | |
- name: Try to build the packages | |
id: build-packages | |
run: npm run build:ci | |
- name: Soft release | |
id: soft-release | |
run: npx pkg-pr-new publish './packages/*' --compact |