Run tests in GitHub Actions automatically for PRs #25
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: Run tests (Linux) | |
'on': | |
# Allows for manually starting tests | |
workflow_dispatch: | |
# Triggers when pull request is created | |
pull_request: | |
# See: https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs | |
permissions: | |
actions: write | |
checks: none | |
contents: read | |
deployments: none | |
id-token: none | |
issues: none | |
discussions: none | |
packages: none | |
pages: none | |
pull-requests: none | |
repository-projects: none | |
security-events: read | |
statuses: none | |
# Cancel in-progress jobs/runs for the same workflow; if you push to same | |
# pull request twice, the previous workflow should be canceled. | |
# From: https://docs.github.com/en/actions/using-jobs/using-concurrency#example-only-cancel-in-progress-jobs-or-runs-for-the-current-workflow | |
concurrency: | |
group: linux-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
# Common environment variables | |
env: | |
TOX_REQUIREMENT: 'tox~=4.6.0' | |
jobs: | |
test-linux-py37: | |
runs-on: ubuntu-22.04 | |
env: | |
# List of available versions: https://github.com/actions/python-versions/blob/main/versions-manifest.json | |
PYTHON_VERSION: '3.7' | |
PYTHON_EXECUTABLE: 'python3.7' | |
PYTHON_TOX_ENVS: 'py37' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Show OS version | |
run: cat /etc/os-release | |
- run: printenv | |
- name: Check D-Bus | |
run: ps -ef | grep dbus | grep -v grep | |
- name: Show python version | |
run: python --version | |
- name: Show platform information | |
run: python -c "import platform; print(platform.platform())" | |
- name: install tox | |
run: | | |
${{ env.PYTHON_EXECUTABLE }} -m pip install -U pip wheel && \ | |
${{ env.PYTHON_EXECUTABLE }} -m pip install ${{ env.TOX_REQUIREMENT }} | |
- name: Run tests with tox | |
run: tox -e ${{ env.PYTHON_TOX_ENVS }} | |
test-linux-py310: | |
runs-on: ubuntu-22.04 | |
env: | |
PYTHON_VERSION: '3.10' | |
PYTHON_EXECUTABLE: 'python3.10' | |
PYTHON_TOX_ENVS: 'py310,check' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Show OS version | |
run: cat /etc/os-release | |
- run: printenv | |
- name: Check D-Bus | |
run: ps -ef | grep dbus | grep -v grep | |
- name: Show python version | |
run: python --version | |
- name: Show platform information | |
run: python -c "import platform; print(platform.platform())" | |
- name: install tox | |
run: | | |
${{ env.PYTHON_EXECUTABLE }} -m pip install -U pip wheel && \ | |
${{ env.PYTHON_EXECUTABLE }} -m pip install ${{ env.TOX_REQUIREMENT }} | |
- name: Run tests with tox | |
run: tox -e ${{ env.PYTHON_TOX_ENVS }} | |
test-linux-py312: | |
runs-on: ubuntu-22.04 | |
env: | |
PYTHON_VERSION: '3.12' | |
PYTHON_EXECUTABLE: 'python3.12' | |
PYTHON_TOX_ENVS: 'py312' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Show OS version | |
run: cat /etc/os-release | |
- run: printenv | |
- name: Check D-Bus | |
run: ps -ef | grep dbus | grep -v grep | |
- name: Show python version | |
run: python --version | |
- name: Show platform information | |
run: python -c "import platform; print(platform.platform())" | |
- name: install tox | |
run: | | |
${{ env.PYTHON_EXECUTABLE }} -m pip install -U pip wheel && \ | |
${{ env.PYTHON_EXECUTABLE }} -m pip install ${{ env.TOX_REQUIREMENT }} | |
- name: Run tests with tox | |
run: tox -e ${{ env.PYTHON_TOX_ENVS }} | |
test-linux-py313-alpha: | |
runs-on: ubuntu-22.04 | |
env: | |
PYTHON_VERSION: '3.13.0-alpha.2' | |
PYTHON_EXECUTABLE: 'python3.13' | |
PYTHON_TOX_ENVS: 'py313' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Install python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Show OS version | |
run: cat /etc/os-release | |
- run: printenv | |
- name: Check D-Bus | |
run: ps -ef | grep dbus | grep -v grep | |
- name: Show python version | |
run: python --version | |
- name: Show platform information | |
run: python -c "import platform; print(platform.platform())" | |
- name: install tox | |
run: | | |
${{ env.PYTHON_EXECUTABLE }} -m pip install -U pip wheel && \ | |
${{ env.PYTHON_EXECUTABLE }} -m pip install ${{ env.TOX_REQUIREMENT }} | |
- name: Run tests with tox | |
run: tox -e ${{ env.PYTHON_TOX_ENVS }} | |