Skip to content

Commit

Permalink
ci(workflow): add cache to workflows using actions/setup-node (#9757)
Browse files Browse the repository at this point in the history
* ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows

* style(workflows): restore single quotes and remove unnecessary 'null'
  • Loading branch information
oscard0m committed Oct 16, 2021
1 parent 6a250de commit 12d5e4c
Show file tree
Hide file tree
Showing 3 changed files with 97 additions and 95 deletions.
145 changes: 72 additions & 73 deletions .github/workflows/ci.yml
Expand Up @@ -10,7 +10,6 @@ on:
- master
- "2.9"
workflow_dispatch:

jobs:
build:
runs-on: ${{ matrix.os }}
Expand All @@ -24,80 +23,80 @@ jobs:
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
39 changes: 20 additions & 19 deletions .github/workflows/deploy-docs.yml
Expand Up @@ -10,27 +10,28 @@ jobs:
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 }}
8 changes: 5 additions & 3 deletions .github/workflows/release.yml
Expand Up @@ -20,10 +20,11 @@ jobs:
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
Expand Down Expand Up @@ -59,15 +60,16 @@ jobs:
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
Expand Down

0 comments on commit 12d5e4c

Please sign in to comment.