maxGraph/.github/workflows/build.yml

64 lines
1.7 KiB
YAML

name: Build
on:
push:
branches:
- development
paths:
- '.github/actions/build-setup/**/*'
- '.github/workflows/build.yml'
- '.eslint*'
- '.nvmrc'
- 'packages/**/*'
- '!packages/**/*.md'
- '!packages/website/**/*'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
pull_request:
branches:
- development
paths:
- '.github/actions/build-setup/**/*'
- '.github/workflows/build.yml'
- '.eslint*'
- '.nvmrc'
- 'packages/**/*'
- '!packages/**/*.md'
- '!packages/website/**/*'
- 'package.json'
- 'package-lock.json'
- 'tsconfig.json'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
# we want to run the full build on all os: don't cancel running jobs even if one fails
fail-fast: false
matrix:
os: ['ubuntu-22.04', 'macos-13', 'windows-2022']
steps:
- uses: actions/checkout@v4
- name: Build Setup
uses: ./.github/actions/build-setup
- name: Build @maxgraph/core - esm
run: npm run build -w packages/core
- name: Test @maxgraph/core
run: npm test -w packages/core
- name: Test TypeScript support
run: npm test -w packages/ts-support
- name: Build ts-example
run: npm run build -w packages/ts-example
- name: Build Storybook mini-site
run: npm run build -w packages/html
- name: Upload all examples as artifact
uses: actions/upload-artifact@v4
with:
name: bundles-test-results-${{runner.os}}-${{github.sha}}
path: |
packages/html/dist/
packages/ts-example/dist/
- name: Ensure no lint errors
run: npm run lint