chore: add coverage upload to Codecov #2060
Workflow file for this run
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
name: 'Build & Test' | |
on: | |
push: | |
branches: | |
- master | |
- release/** | |
pull_request: | |
jobs: | |
job_build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'package.json' | |
cache: 'yarn' | |
- name: Install dependencies with yarn | |
run: yarn install --frozen-lockfile | |
- name: Build | |
run: yarn build | |
- name: Pack | |
run: yarn pack | |
- name: Archive Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ github.sha }} | |
path: | | |
${{ github.workspace }}/*.tgz | |
job_lint: | |
name: Lint | |
needs: job_build | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'package.json' | |
cache: 'yarn' | |
- name: Install dependencies with yarn | |
run: yarn install --frozen-lockfile | |
- name: Run Linter | |
run: yarn lint | |
job_test: | |
name: Node (${{ matrix.node }}) Unit Tests | |
needs: job_build | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
node: [14, 16, 18, 20, 22] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version-file: 'package.json' | |
node-version: ${{ matrix.node }} | |
cache: 'yarn' | |
- name: Install dependencies with yarn | |
run: yarn install --frozen-lockfile | |
- name: Run Unit Tests | |
run: yarn test | |
- name: Push code coverage to codecov | |
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # pin@v5.3.1 | |
with: | |
# Need to specify the token here, as the codecov action requires it for protected branches. | |
# If not set, this error is shown: `Token required because branch is protected` | |
token: ${{ secrets.CODECOV_TOKEN }} | |
# Do not fail the build if codecov fails to report the coverage. | |
fail_ci_if_error: false | |
flags: unit-tests | |
job_e2e_test: | |
name: ${{ matrix.wizard }} E2E Tests | |
needs: job_build | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
strategy: | |
matrix: | |
wizard: [Flutter, Nuxt-3, Nuxt-4, NextJS, Remix, Sveltekit] | |
env: | |
SENTRY_TEST_AUTH_TOKEN: ${{ secrets.E2E_TEST_SENTRY_AUTH_TOKEN }} | |
SENTRY_TEST_ORG: 'sentry-javascript-sdks' | |
SENTRY_TEST_PROJECT: 'sentry-wizard-e2e-tests' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 22 | |
cache: 'yarn' | |
- name: Setup Flutter | |
if: matrix.wizard == 'Flutter' | |
uses: subosito/flutter-action@f2c4f6686ca8e8d6e6d0f28410eeef506ed66aff # pin@v2.18.0 | |
with: | |
channel: 'stable' | |
- name: Build Flutter | |
if: matrix.wizard == 'Flutter' | |
working-directory: e2e-tests/test-applications/flutter-test-app | |
run: | | |
flutter upgrade | |
flutter pub get | |
- name: Install dependencies with yarn | |
run: yarn install --frozen-lockfile | |
- name: Run End-to-End Tests | |
run: yarn test:e2e ${{ matrix.wizard }} | |
- name: Push code coverage to codecov | |
uses: codecov/codecov-action@13ce06bfc6bbe3ecf90edbbf1bc32fe5978ca1d3 # pin@v5.3.1 | |
with: | |
# Need to specify the token here, as the codecov action requires it for protected branches. | |
# If not set, this error is shown: `Token required because branch is protected` | |
token: ${{ secrets.CODECOV_TOKEN }} | |
# Do not fail the build if codecov fails to report the coverage. | |
fail_ci_if_error: false | |
flags: e2e-tests |