Skip to content

Migrate repository to the new EasyScience Copier templates #2

Migrate repository to the new EasyScience Copier templates

Migrate repository to the new EasyScience Copier templates #2

Workflow file for this run

name: Coverage checks
on:
# Trigger the workflow on push
push:
# Do not run on version tags (those are handled by other workflows)
tags-ignore: ['v*']
# Trigger the workflow on pull request
pull_request:
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Need permissions to trigger the dashboard build workflow
permissions:
actions: write
contents: read
# Allow only one concurrent workflow, skipping runs queued between the run
# in-progress and latest queued. And cancel in-progress runs.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
# Set the environment variables to be used in all jobs defined in this workflow
env:
CI_BRANCH: ${{ github.head_ref || github.ref_name }}
jobs:
# Job 1: Run docstring coverage
docstring-coverage:
runs-on: ubuntu-latest
steps:
- name: Check-out repository
uses: actions/checkout@v5
- name: Set up pixi
uses: ./.github/actions/setup-pixi
- name: Run docstring coverage
run: pixi run docstring-coverage
# Job 2: Run unit tests with coverage and upload to Codecov
unit-tests-coverage:
runs-on: ubuntu-latest
steps:
- name: Check-out repository
uses: actions/checkout@v5
- name: Set up pixi
uses: ./.github/actions/setup-pixi
- name: Run unit tests with coverage
run: pixi run unit-tests-coverage --cov-report=xml:coverage-unit.xml
- name: Upload unit tests coverage to Codecov
if: ${{ !cancelled() }}
uses: ./.github/actions/upload-codecov
with:
name: unit-tests-job
flags: unittests
files: ./coverage-unit.xml
token: ${{ secrets.CODECOV_TOKEN }}
# Job 2: Run integration tests with coverage and upload to Codecov
integration-tests-coverage:
runs-on: ubuntu-latest
steps:
- name: Check-out repository
uses: actions/checkout@v5
- name: Set up pixi
uses: ./.github/actions/setup-pixi
- name: Run integration tests with coverage
run:
pixi run integration-tests-coverage --cov-report=xml:coverage-integration.xml
- name: Upload integration tests coverage to Codecov
if: ${{ !cancelled() }}
uses: ./.github/actions/upload-codecov
with:
name: integration-tests-job
flags: integration
files: ./coverage-integration.xml
token: ${{ secrets.CODECOV_TOKEN }}
# Job 4: Build and publish dashboard (reusable workflow)
run-reusable-workflows:
needs: [docstring-coverage, unit-tests-coverage, integration-tests-coverage] # depend on the previous jobs
uses: ./.github/workflows/dashboard.yml
secrets: inherit