mirror of
https://github.com/frej/fast-export.git
synced 2026-01-20 21:22:03 +01:00
Run the CI tests with both the earliest supported Python version and the latest stable release. The intent is to quickly notice when new features require adjusting the oldest supported Python version and also detect when the latest stable version breaks old code (as when 3.12 removed `imp` and we witched to `importlib` in #311).
91 lines
2.3 KiB
YAML
91 lines
2.3 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
# The branches below must be a subset of the branches above
|
|
branches: [master]
|
|
|
|
jobs:
|
|
test-earliest:
|
|
name: Run test suite on the earliest supported Python version
|
|
runs-on: ubuntu-20.04
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
name: Checkout repository
|
|
with:
|
|
fetch-depth: 1
|
|
submodules: 'recursive'
|
|
- uses: actions/setup-python@v5
|
|
id: earliest
|
|
with:
|
|
python-version: '3.7.x'
|
|
check-latest: true
|
|
cache: 'pip'
|
|
cache-dependency-path: '**/requirements-earliest.txt'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r .github/requirements-earliest.txt
|
|
|
|
- name: Report selected versions
|
|
run: |
|
|
echo Selected '${{ steps.earliest.outputs.python-version }}'
|
|
./hg-fast-export.sh --debug
|
|
|
|
- name: Run tests on earliest supported Python version
|
|
run: make -C t
|
|
|
|
test-latest:
|
|
name: Run test suite on the latest supported python version
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
name: Checkout repository
|
|
with:
|
|
fetch-depth: 1
|
|
submodules: 'recursive'
|
|
- uses: actions/setup-python@v5
|
|
id: latest
|
|
with:
|
|
python-version: '3.x'
|
|
check-latest: true
|
|
cache: 'pip'
|
|
cache-dependency-path: '**/requirements-latest.txt'
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r .github/requirements-latest.txt
|
|
|
|
- name: Report selected version
|
|
run: |
|
|
echo Selected '${{ steps.latest.outputs.python-version }}'
|
|
./hg-fast-export.sh --debug
|
|
|
|
- name: Run tests on 3.x
|
|
run: make -C t
|
|
|
|
code-quality:
|
|
name: Run code quality checks
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 1
|
|
submodules: 'recursive'
|
|
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@v2
|
|
with:
|
|
languages: python
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v2
|