Automating Tests with GitHub Actions
What GitHub Actions is
GitHub Actions runs workflows on:
- push
- pull_request
- schedules
Minimal Python test workflow
Create .github/workflows/tests.yml.github/workflows/tests.yml:
name: tests
on:
pull_request:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: |
pytest -qname: tests
on:
pull_request:
push:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Run tests
run: |
pytest -qTips
- cache pip if workflows are slow
- upload coverage/html reports as artifacts
- run lint/type checks as separate jobs
If this helped you, consider buying me a coffee ☕
Buy me a coffeeWas this page helpful?
Let us know how we did
