blob: 7464748e69d9da4eacd439c46bb7b087cfdb9ff9 [file]
name: test release tool
on:
push:
paths:
- .github/workflows/release_tests.yml
- scripts/release.py
- scripts/release_tests.py
pull_request:
paths:
- .github/workflows/release_tests.yml
- scripts/release.py
- scripts/release_tests.py
permissions: {}
jobs:
test-release-tool:
# We want to run on external PRs, but not on our own internal PRs as they'll be run
# by the push to the branch. Without this if check, checks are duplicated since
# internal PRs match both the push and pull_request events.
if:
github.event_name == 'push' || github.event.pull_request.head.repo.full_name !=
github.repository
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.12", "3.13", "3.14", "3.15"]
os: [macOS-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# Give us all history, branches and tags
fetch-depth: 0
persist-credentials: false
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: ${{ matrix.python-version }}
allow-prereleases: true
pip-version: "25.3"
pip-install: --group coverage
- name: Print Python Version
run: python --version --version && which python
- name: Print Pip Version
run: pip --version && which pip
- name: Print Git Version
run: git --version && which git
- name: Run unit tests via coverage + print report
run: |
coverage run scripts/release_tests.py
coverage report --show-missing