Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci(workflow): add cache to workflows using actions/setup-node #9757

Merged
merged 2 commits into from Oct 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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