[MISC] Update repo configs #173
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 | |
env: | |
COVERAGE_DATABASE_VERSION: mariadb:10.11 | |
COVERAGE_PYTHON_VERSION: 3.12 | |
NODE_VERSION: 22 # [LTS] End of Life: 30 Apr 2027 (https://endoflife.date/nodejs) | |
REDIS_VERSION: latest | |
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 | |
# Set up Node.js | |
- name: Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
# https://endoflife.date/nodejs | |
node-version: ${{ env.NODE_VERSION }} | |
cache: 'npm' | |
cache-dependency-path: 'package-lock.json' | |
- run: npm install | |
- name: Run Pre Commit Checks | |
uses: pre-commit/[email protected] | |
# 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: | |
# https://endoflife.date/python | |
- '3.10' # [EOL] End of Life: 31 Oct 2026 | |
- '3.11' # [EOL] End of Life: 31 Dec 2027 | |
- '3.12' # [EOL] End of Life: 31 Dec 2028 | |
steps: | |
# Checkout the repository | |
- name: Checkout | |
uses: actions/checkout@v4 | |
# Install redis | |
- name: Install redis | |
uses: shogo82148/actions-setup-redis@v1 | |
with: | |
redis-version: ${{ env.REDIS_VERSION }} | |
# 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 | |
run: tox -v | |
# 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 == env.COVERAGE_PYTHON_VERSION | |
# && matrix.database == env.COVERAGE_DATABASE_VERSION | |
# ) | |
# }} | |
# uses: codecov/codecov-action@v4 | |
# with: | |
## token: ${{ secrets.CODECOV_TOKEN }} | |
# files: coverage.xml # optional | |
## flags: unittests # optional | |
## name: codecov-umbrella # optional | |
## fail_ci_if_error: true # optional (default = false) | |
# verbose: true # optional (default = false) | |
# env: | |
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
# 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 |