Skip to content

Merge pull request #279 from DontShaveTheYak/develop #470

Merge pull request #279 from DontShaveTheYak/develop

Merge pull request #279 from DontShaveTheYak/develop #470

Workflow file for this run

name: Tests
on:
push:
branches:
- "master"
pull_request_target:
types: [opened, synchronize, reopened]
jobs:
check:
name: Check Permissions
runs-on: ubuntu-latest
steps:
- name: Get User Permission
id: checkAccess
uses: actions-cool/check-user-permission@v2
with:
require: write
username: ${{ github.triggering_actor }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check User Permission
if: steps.checkAccess.outputs.require-result == 'false'
run: |
echo "${{ github.triggering_actor }} does not have permissions on this repo."
echo "Current permission level is ${{ steps.checkAccess.outputs.user-permission }}"
echo "Job originally triggered by ${{ github.actor }}"
exit 1
single:
runs-on: ubuntu-latest
name: Python 3.11
needs: check
steps:
- name: Checkout Code
uses: actions/checkout@v4.1.1
- name: Setup Latest Python
uses: actions/setup-python@v5.1.0
with:
python-version: 3.11
architecture: x64
- name: Setup Poetry
run: |
pip install poetry==1.4.0
poetry install
- name: Setup requirements
run: pip install nox nox_poetry coverage[toml]
- name: Run Tests
run: nox -s tests -p 3.11
- name: Combine Coverage reports
run: nox -s coverage -p 3.11
- name: Convert Coverage
run: coverage xml --fail-under=0
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4.3.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unit
fail_ci_if_error: true
multi:
needs: single
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.8", "3.9", "3.10", "3.12"] # 3.11 is done in the job above
name: Python ${{ matrix.python-version }}
steps:
- name: Checkout Code
uses: actions/checkout@v4.1.1
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
architecture: x64
- name: Setup Nox
run: pip install nox nox_poetry
- name: Setup Poetry
run: pip install poetry==1.4.0
- name: Run Tests
run: nox -s tests -p ${{ matrix.python-version }}