name: Workflow for Codecov Action on: [push, pull_request] jobs: test-validation: runs-on: macos-latest steps: - name: Run validation run: | curl https://keybase.io/codecovsecurity/pgp_keys.asc | gpg --no-default-keyring --keyring trustedkeys.gpg --import # One-time step - name: Run validation run: | gpg --no-tty --lsign-key ED779869 - name: Run validation run: | curl -Os https://cli.codecov.io/latest/macos/codecov - name: Run validation run: | curl -Os https://cli.codecov.io/latest/macos/codecov.SHA256SUM - name: Run validation run: | curl -Os https://cli.codecov.io/latest/macos/codecov.SHA256SUM.sig - name: Run validation run: | gpg --verify codecov.SHA256SUM.sig codecov.SHA256SUM run: runs-on: ${{ matrix.os }} strategy: matrix: os: [macos-latest, windows-latest, ubuntu-latest, macos-latest-xlarge] steps: - name: Checkout uses: actions/checkout@v4.1.1 - name: Install dependencies run: npm install - name: Lint run: npm run lint - name: Run tests and collect coverage run: npm run test - name: Upload coverage to Codecov (script) uses: ./ with: fail_ci_if_error: true files: ./coverage/script/coverage-final.json flags: script,${{ matrix.os }} name: codecov-script verbose: true token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov (demo) uses: ./ with: fail_ci_if_error: true files: ./coverage/calculator/coverage-final.json,./coverage/coverage-test/coverage-final.json file: ./coverage/coverage-final.json flags: demo,${{ matrix.os }} name: codecov-demo verbose: true token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov (version) uses: ./ with: fail_ci_if_error: true files: ./coverage/calculator/coverage-final.json,./coverage/coverage-test/coverage-final.json file: ./coverage/coverage-final.json flags: version,${{ matrix.os }} name: codecov-version version: v0.2.0 verbose: true token: ${{ secrets.CODECOV_TOKEN }} run-container: runs-on: ubuntu-latest container: node:18 steps: - name: Checkout uses: actions/checkout@v4.1.1 - name: Install dependencies run: npm install - name: Lint run: npm run lint - name: Run tests and collect coverage run: npm run test - name: Upload coverage to Codecov (script) uses: ./ with: fail_ci_if_error: true files: ./coverage/script/coverage-final.json flags: script,${{ matrix.os }} name: codecov-script verbose: true token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov (demo) uses: ./ with: fail_ci_if_error: true files: ./coverage/calculator/coverage-final.json,./coverage/coverage-test/coverage-final.json file: ./coverage/coverage-final.json flags: demo,${{ matrix.os }} name: codecov-demo verbose: true token: ${{ secrets.CODECOV_TOKEN }} - name: Upload coverage to Codecov (version) uses: ./ with: fail_ci_if_error: true files: ./coverage/calculator/coverage-final.json,./coverage/coverage-test/coverage-final.json file: ./coverage/coverage-final.json flags: version,${{ matrix.os }} name: codecov-version version: v0.2.0 verbose: true token: ${{ secrets.CODECOV_TOKEN }}