Release 1.4.3 #512
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will do the following: | |
# - perform a clean install of node dependencies | |
# - lint the source code for errors | |
# - build the source code | |
# - run tests and capture code coverage | |
# - upload the code coverage report to Codacy | |
# - upload the code coverage report to Codecov | |
name: Continuous Integration | |
on: | |
push: | |
branches: [main, develop] | |
pull_request: | |
branches: [main, develop] | |
jobs: | |
build: | |
name: Checkout, install, lint, build and test with coverage | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Use Node.js 20.x | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20.x | |
- name: Cache node modules | |
uses: actions/cache@v3 | |
env: | |
cache-name: cache-node-modules | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-build-${{ env.cache-name }}- | |
${{ runner.os }}-build- | |
${{ runner.os }}- | |
- name: Install node dependencies | |
run: npm ci | |
- name: Audit dependencies for security vulnerabilities | |
run: npm audit | |
- name: Lint the source code | |
run: npm run-script lint | |
- name: Build the source code | |
run: npm run build | |
- name: Execute test coverage | |
run: npm run-script coverage | |
# - name: Upload code coverage to Codecov | |
# uses: codecov/codecov-action@v1 | |
# with: | |
# file: coverage/lcov.info | |
# fail_ci_if_error: true # optional (default = false) | |
# flags: unittests # optional | |
# name: codecov-umbrella # optional | |
- name: Store the coverage report as an artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: coverage | |
path: coverage/lcov.info | |
upload-codacy-coverage: | |
name: Upload code coverage to Codacy | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Download coverage artifact | |
uses: actions/download-artifact@v3 | |
with: | |
name: coverage | |
- name: Upload code coverage to Codacy | |
uses: codacy/codacy-coverage-reporter-action@master | |
with: | |
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }} | |
coverage-reports: lcov.info |