✔ GitHub Actions: Test on PR #38
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: test | ||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_requests: | ||
branches: | ||
- master | ||
schedule: | ||
- cron: "00 16 07 * *" # = monthly | ||
# Allow manually running (from GitHub Web) | ||
workflow_dispatch: | ||
# Allow calling this workflow (e.g. from release workflow) | ||
workflow_call: | ||
jobs: | ||
test: | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: [ "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12" ] | ||
# For Python 3.6, we need to fall back to Ubuntu 20.04 | ||
runs-on: ${{ matrix.python-version == '3.6' && 'ubuntu-20.04' || 'ubuntu-latest' }} | ||
env: | ||
test_results_dir: test-results-${{ matrix.python-version }} | ||
steps: | ||
- name: Set up Python | ||
uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Checkout | ||
uses: actions/checkout@v3 | ||
- name: Update pip | ||
run: python3 -m pip install -U pip | ||
- name: Avoid compiling OpenCV and NumPy on Python 3.6 | ||
run: | | ||
if python3 --version | grep -q "Python 3.6"; then | ||
pip install --prefer-binary -U opencv-python-headless numpy | ||
fi | ||
- name: Install requirements*.txt | ||
run: | | ||
for requirements_txt in requirements*.txt; do | ||
python3 -m pip install -r $requirements_txt; | ||
done | ||
- name: Test | ||
run: | | ||
cd src | ||
mkdir -p ../$test_results_dir | ||
python3 -m pytest --junitxml=../$test_results_dir/junit.xml -o junit_family=legacy | ||
- name: Upload test results | ||
uses: actions/upload-artifact@v3 | ||
if: success() || failure() | ||
with: | ||
name: ${{ env.test_results_dir }} | ||
path: ${{ env.test_results_dir }} | ||
- name: Report tests | ||
uses: dorny/test-reporter@v1 | ||
if: success() || failure() | ||
with: | ||
name: Results on Python ${{ matrix.python-version }} | ||
path: "${{env.test_results_dir }}/junit.xml" | ||
reporter: java-junit |