From 60f393c2b3054a2bb742312a0ada1979ca544eaa Mon Sep 17 00:00:00 2001 From: Oscar Dominguez Date: Tue, 12 Oct 2021 20:00:27 +0200 Subject: [PATCH 1/2] ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows --- .github/workflows/ci.yml | 147 +++++++++++++++--------------- .github/workflows/deploy-docs.yml | 39 ++++---- .github/workflows/release.yml | 12 ++- 3 files changed, 100 insertions(+), 98 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76d0b05cf0a..a5d4339ae03 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,8 +9,7 @@ on: branches: - master - "2.9" - workflow_dispatch: - + workflow_dispatch: null jobs: build: runs-on: ${{ matrix.os }} @@ -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 diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 61a6ac57197..c0ac7daeacc 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -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 }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e017eeaf0e1..879fb644083 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -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' + node-version: "14.x" registry-url: https://registry.npmjs.org/ + cache: npm - name: Setup and build run: | npm ci @@ -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' + node-version: "14.x" registry-url: https://registry.npmjs.org/ + cache: npm - name: Setup and build run: | npm ci From 5fa48dd2886b8410c6aec64582e8b6744dfe8b7d Mon Sep 17 00:00:00 2001 From: Oscar Dominguez Date: Sat, 16 Oct 2021 14:41:49 +0200 Subject: [PATCH 2/2] style(workflows): restore single quotes and remove unnecessary 'null' --- .github/workflows/ci.yml | 8 ++++---- .github/workflows/deploy-docs.yml | 2 +- .github/workflows/release.yml | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a5d4339ae03..47142291c04 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,7 +9,7 @@ on: branches: - master - "2.9" - workflow_dispatch: null + workflow_dispatch: jobs: build: runs-on: ${{ matrix.os }} @@ -27,7 +27,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v2 with: - node-version: "14" + node-version: '14' cache: npm - uses: dorny/paths-filter@v2 id: changes @@ -78,7 +78,7 @@ jobs: uses: coverallsapp/github-action@master with: github-token: ${{ secrets.github_token }} - path-to-lcov: "./coverage/chrome/lcov.info" + path-to-lcov: './coverage/chrome/lcov.info' flag-name: ${{ matrix.os }}-chrome parallel: true - name: Coveralls Parallel - Firefox @@ -86,7 +86,7 @@ jobs: uses: coverallsapp/github-action@master with: github-token: ${{ secrets.github_token }} - path-to-lcov: "./coverage/firefox/lcov.info" + path-to-lcov: './coverage/firefox/lcov.info' flag-name: ${{ matrix.os }}-firefox parallel: true diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index c0ac7daeacc..e73bb894d70 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -22,7 +22,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v2 with: - node-version: "14.x" + node-version: '14.x' cache: npm - name: Package & Deploy Docs run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 879fb644083..aaaeb415fa3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: "14.x" + node-version: '14.x' registry-url: https://registry.npmjs.org/ cache: npm - name: Setup and build @@ -67,7 +67,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: "14.x" + node-version: '14.x' registry-url: https://registry.npmjs.org/ cache: npm - name: Setup and build