This repository has been archived by the owner on Aug 25, 2024. It is now read-only.
Merge pull request #82 from chu-aie/release #74
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: lint & test | |
on: | |
workflow_call: | |
workflow_dispatch: | |
push: | |
branches: | |
- "*" | |
paths: | |
- "src/**" | |
- "tests/**" | |
- ".github/workflows/lint_and_test.yaml" | |
jobs: | |
build: | |
# Name the Job | |
name: test-code-base | |
# Set the agent to run on | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
python-version: [3.9] | |
steps: | |
# Checkout the code base # | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
# install poetry | |
- name: Install poetry | |
run: pipx install poetry>=1.3.2 | |
# set up python | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "poetry" | |
# initialize | |
- name: Initialize | |
run: make initialize | |
# install dependencies | |
- name: Install dependencies for linters | |
run: poe install-dev | |
# run linters | |
- name: Run linters | |
run: | | |
set -o pipefail | |
poe lint | |
# run unit tests | |
- name: Run unit-tests | |
run: | | |
set -o pipefail | |
poe tests-cov-fail | |
# add content to GitHub summary | |
- name: Pytest coverage GitHub summary | |
run: | | |
set -o pipefail | |
echo '# Coverage report' >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
cat tests/pytest-coverage.txt >> $GITHUB_STEP_SUMMARY | |
echo '```' >> $GITHUB_STEP_SUMMARY | |
echo '\n\n\n' | |
- name: Upload coverage reports to Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
fail_ci_if_error: false # optional (default = false) | |
verbose: true # optional (default = false) | |
env: | |
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} |