Alliance Auth v4 compatibility update #651
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: Tests | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
jobs: | |
# Run pre-commit Checks | |
pre-commit: | |
name: Pre Commit Checks | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Set up Python | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: 'pyproject.toml' # Read the Python version from the pyproject.toml file | |
# Install pre-commit | |
- name: Run Pre Commit Checks | |
uses: pre-commit/action@v3.0.0 | |
# Run Test Coverage | |
test-coverage: | |
needs: [pre-commit] | |
name: AA Latest (Python ${{ matrix.python-version }} with ${{ matrix.database }}) | |
runs-on: ubuntu-latest | |
strategy: | |
# Set Python versions to test against | |
matrix: | |
python-version: | |
- '3.8' | |
- '3.9' | |
- '3.10' | |
- '3.11' | |
- '3.12' | |
# MySQL versions to test against | |
database: | |
# https://endoflife.date/mysql | |
- mysql:8.0 # [LTS] Maintained until: 30 Apr 2026 | |
- mysql:8.1 # Latest official release | |
# https://endoflife.date/mariadb and https://mariadb.com/kb/en/mariadb-server-release-dates/ | |
- mariadb:10.4 # Maintained until: 18 June 2024 | |
- mariadb:10.5 # Maintained until: 24 June 2025 | |
- mariadb:10.6 # [LTS] Maintained until: July 2026 | |
- mariadb:10.11 # [LTS] Maintained until: February 2028 | |
- mariadb:11.0 # Maintained until: June 2024 | |
- mariadb:11.1 # Maintained until: August 2024 | |
# continue-on-error: ${{ matrix.python-version == '3.12' }} | |
# Set up services | |
services: | |
database: | |
image: ${{ matrix.database }} | |
env: | |
MYSQL_ROOT_PASSWORD: temp_password_aa_tox_tests | |
MYSQL_DATABASE: tox_allianceauth | |
ports: | |
- 3306:3306 | |
options: --tmpfs /var/lib/mysql | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Install redis | |
- name: Install redis | |
run: sudo apt-get install -y redis-tools redis-server | |
# Verify that redis is up | |
- name: Verify that redis is up | |
run: redis-cli ping | |
# Set up Python | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Install Tox and any other packages | |
- name: Install Tox and any other packages | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade tox tox-gh-actions | |
# Run Tox with the specified environment | |
- name: Run Tox | |
env: | |
TOX_ENV: allianceauth-latest | |
DB_HOST: 127.0.0.1 | |
DB_USER: root | |
DB_PASSWORD: temp_password_aa_tox_tests | |
run: tox -v -e ${{ env.TOX_ENV }} | |
# Upload coverage to Codecov | |
- name: Upload Coverage | |
if: ${{ | |
( | |
github.event_name == 'pull_request' | |
|| ( | |
github.event_name == 'push' | |
&& github.ref == 'refs/heads/master' | |
) | |
) | |
&& ( | |
matrix.python-version == '3.10' | |
&& matrix.database == 'mariadb:10.11' | |
) | |
}} | |
uses: codecov/codecov-action@v3 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos | |
files: coverage.xml # optional | |
# flags: unittests # optional | |
# name: codecov-umbrella # optional | |
# fail_ci_if_error: true # optional (default = false) | |
verbose: true # optional (default = false) | |
# Run PyPi Build Test | |
pypi-build-test: | |
needs: [ test-coverage ] | |
name: PyPi Build Test | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Set up Python | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version-file: 'pyproject.toml' # Read the Python version from the pyproject.toml file | |
# Install Tools | |
- name: Install Tools | |
run: | | |
python -m pip install --upgrade pip | |
python -m pip install --upgrade build | |
python -m pip install --upgrade setuptools wheel | |
# Build Package | |
- name: Package Build | |
env: | |
STACKMANAGER_VERSION: 9999 | |
run: | | |
python -m build | |
# Upload Build Artifacts | |
- name: Upload Build Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build-${{ github.event_name }}-${{ github.sha }} | |
path: dist | |
if-no-files-found: ignore |