- master
- "2.9"
workflow_dispatch:
-
jobs:
build:
runs-on: ${{ matrix.os }}
fail-fast: false
steps:
- - uses: actions/checkout@v2
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: '14'
- - uses: dorny/paths-filter@v2
- id: changes
- with:
- filters: |
- docs:
- - 'docs/**'
- - 'package.json'
- - 'tsconfig.json'
- src:
- - 'src/**'
- - 'package.json'
- test:
- - 'test/**'
- - 'karma.conf.js'
- - 'package.json'
- types:
- - 'types/**'
- - 'package.json'
- - 'tsconfig.json'
- - name: Install
- run: npm ci
- - name: Build
- run: npm run build
- - name: Test
- if: |
- steps.changes.outputs.src == 'true' ||
- steps.changes.outputs.test == 'true'
- run: |
- npm run build
- if [ "${{ runner.os }}" == "Windows" ]; then
- npm test
- elif [ "${{ runner.os }}" == "macOS" ]; then
- npm test --browsers chrome,safari
- else
- xvfb-run --auto-servernum npm test
- fi
- shell: bash
- - name: Lint
- run: npm run lint
- - name: Package
- if: steps.changes.outputs.docs == 'true'
- run: |
- npm run docs
- npm pack
- - name: Coveralls Parallel - Chrome
- if: steps.changes.outputs.src == 'true'
- uses: coverallsapp/github-action@master
- with:
- github-token: ${{ secrets.github_token }}
- path-to-lcov: './coverage/chrome/lcov.info'
- flag-name: ${{ matrix.os }}-chrome
- parallel: true
- - name: Coveralls Parallel - Firefox
- if: steps.changes.outputs.src == 'true'
- uses: coverallsapp/github-action@master
- with:
- github-token: ${{ secrets.github_token }}
- path-to-lcov: './coverage/firefox/lcov.info'
- flag-name: ${{ matrix.os }}-firefox
- parallel: true
-
+ - uses: actions/checkout@v2
+ - name: Use Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '14'
+ cache: npm
+ - uses: dorny/paths-filter@v2
+ id: changes
+ with:
+ filters: |
+ docs:
+ - 'docs/**'
+ - 'package.json'
+ - 'tsconfig.json'
+ src:
+ - 'src/**'
+ - 'package.json'
+ test:
+ - 'test/**'
+ - 'karma.conf.js'
+ - 'package.json'
+ types:
+ - 'types/**'
+ - 'package.json'
+ - 'tsconfig.json'
+ - name: Install
+ run: npm ci
+ - name: Build
+ run: npm run build
+ - name: Test
+ if: |
+ steps.changes.outputs.src == 'true' ||
+ steps.changes.outputs.test == 'true'
+ run: |
+ npm run build
+ if [ "${{ runner.os }}" == "Windows" ]; then
+ npm test
+ elif [ "${{ runner.os }}" == "macOS" ]; then
+ npm test --browsers chrome,safari
+ else
+ xvfb-run --auto-servernum npm test
+ fi
+ shell: bash
+ - name: Lint
+ run: npm run lint
+ - name: Package
+ if: steps.changes.outputs.docs == 'true'
+ run: |
+ npm run docs
+ npm pack
+ - name: Coveralls Parallel - Chrome
+ if: steps.changes.outputs.src == 'true'
+ uses: coverallsapp/github-action@master
+ with:
+ github-token: ${{ secrets.github_token }}
+ path-to-lcov: './coverage/chrome/lcov.info'
+ flag-name: ${{ matrix.os }}-chrome
+ parallel: true
+ - name: Coveralls Parallel - Firefox
+ if: steps.changes.outputs.src == 'true'
+ uses: coverallsapp/github-action@master
+ with:
+ github-token: ${{ secrets.github_token }}
+ path-to-lcov: './coverage/firefox/lcov.info'
+ flag-name: ${{ matrix.os }}-firefox
+ parallel: true
finish:
needs: build
runs-on: ubuntu-latest
steps:
- - name: Coveralls Finished
- if: needs.build.outputs.coveralls == 'true'
- uses: coverallsapp/github-action@master
- with:
- github-token: ${{ secrets.github_token }}
- parallel-finished: true
+ - name: Coveralls Finished
+ if: needs.build.outputs.coveralls == 'true'
+ uses: coverallsapp/github-action@master
+ with:
+ github-token: ${{ secrets.github_token }}
+ parallel-finished: true
correct_repository:
runs-on: ubuntu-latest
steps:
- - name: fail on fork
- if: github.repository_owner != 'chartjs'
- run: exit 1
+ - name: fail on fork
+ if: github.repository_owner != 'chartjs'
+ run: exit 1
build:
needs: correct_repository
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
- - name: Use Node.js
- uses: actions/setup-node@v1
- with:
- node-version: '14.x'
- - name: Package & Deploy Docs
- run: |
- npm ci
- npm run build
- ./scripts/docs-config.sh "master"
- npm run docs
- npm pack
- ./scripts/deploy-docs.sh "master"
- env:
- GITHUB_TOKEN: ${{ secrets.GH_AUTH_TOKEN }}
- GH_AUTH_EMAIL: ${{ secrets.GH_AUTH_EMAIL }}
+ - uses: actions/checkout@v2
+ - name: Use Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '14.x'
+ cache: npm
+ - name: Package & Deploy Docs
+ run: |
+ npm ci
+ npm run build
+ ./scripts/docs-config.sh "master"
+ npm run docs
+ npm pack
+ ./scripts/deploy-docs.sh "master"
+ env:
+ GITHUB_TOKEN: ${{ secrets.GH_AUTH_TOKEN }}
+ GH_AUTH_EMAIL: ${{ secrets.GH_AUTH_EMAIL }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-node@v1
+ - uses: actions/setup-node@v2
with:
node-version: '14.x'
registry-url: https://registry.npmjs.org/
+ cache: npm
- name: Setup and build
run: |
npm ci
asset_name: ${{ format('chart.js-{0}.tgz', needs.setup.outputs.version) }}
asset_content_type: application/gzip
release-tag:
- needs: [setup,release]
+ needs: [setup, release]
runs-on: ubuntu-latest
if: "!github.event.release.prerelease"
steps:
- uses: actions/checkout@v2
- - uses: actions/setup-node@v1
+ - uses: actions/setup-node@v2
with:
node-version: '14.x'
registry-url: https://registry.npmjs.org/
+ cache: npm
- name: Setup and build
run: |
npm ci