Skip to content

database volume in folder + dockerignore #279

database volume in folder + dockerignore

database volume in folder + dockerignore #279

Workflow file for this run

name: Checks
on:
push:
paths-ignore:
- "**.css"
- "**.js"
- "**.md"
branches:
- main
pull_request:
paths-ignore:
- "**.css"
- "**.js"
- "**.md"
jobs:
test-coverage:
name: Test Coverage (Python ${{ matrix.python-version }} DB ${{ matrix.database }})
runs-on: ubuntu-latest
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
redis:
image: redis
options: >-
--health-cmd "redis-cli ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
ports:
# Maps port 6379 on service container to the host
- 6379:6379
strategy:
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
database:
# https://endoflife.date/mysql
- mysql:8.0 # [LTS] Maintained until: 30 Apr 2026
- mysql:8.3 # Latest official release
# https://endoflife.date/mariadb and https://mariadb.com/kb/en/mariadb-server-release-dates/
- mariadb:10.6 # [LTS] Maintained until: July 2026
- mariadb:10.11 # [LTS] Maintained until: February 2028
- mariadb:11.3 # Latest official release
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Install Tox and any other packages
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade tox tox-gh-actions
- name: Run Tox
env:
AA_DB_HOST: 127.0.0.1
AA_DB_NAME: tox_allianceauth
AA_DB_USER: root
AA_DB_PASSWORD: temp_password_aa_tox_tests
AA_REDIS: "localhost:6379"
run: tox -v
- name: Create report name
env:
COVERAGE_REPORT_NAME: "coverage-${{ matrix.python-version }}-${{ matrix.database }}"
run: |
COVERAGE_REPORT_NAME=${COVERAGE_REPORT_NAME//:/_}
echo "COVERAGE_REPORT_NAME=${COVERAGE_REPORT_NAME}" >> $GITHUB_ENV
echo "COVERAGE_REPORT_NAME=${COVERAGE_REPORT_NAME}"
- name: Upload Coverage Artifact
uses: actions/upload-artifact@v4
with:
name: ${{ env.COVERAGE_REPORT_NAME }}
path: coverage.xml
if-no-files-found: ignore
upload-coverage:
name: Upload to Codecov
runs-on: ubuntu-latest
needs: [test-coverage]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos but fails for rate limits
directory: artifacts
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
build-test:
name: PyPi Build Test
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python 3
uses: actions/setup-python@v5
with:
python-version: "3.x"
check-latest: true
- name: Install Tools
run: |
python -m pip install -U pip
pip install -U build
- name: Package Build
env:
STACKMANAGER_VERSION: 9999
run: python -m build
- name: Upload Build Artifact
uses: actions/upload-artifact@v4
with:
name: build
path: dist
if-no-files-found: ignore