From: Oscar Dominguez Date: Sat, 16 Oct 2021 19:18:11 +0000 (+0200) Subject: ci(workflow): add cache to workflows using actions/setup-node (#9757) X-Git-Tag: v3.6.0~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=12d5e4c7e7f048c6b8a6724d5c152d46a8464f70;p=thirdparty%2FChart.js.git ci(workflow): add cache to workflows using actions/setup-node (#9757) * ci(workflow): add 'npm' cache for actions/setup-node in .github/workflows * style(workflows): restore single quotes and remove unnecessary 'null' --- diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 76d0b05cf..47142291c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,6 @@ on: - master - "2.9" workflow_dispatch: - 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 61a6ac571..e73bb894d 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 e017eeaf0..aaaeb415f 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' 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' registry-url: https://registry.npmjs.org/ + cache: npm - name: Setup and build run: | npm ci