Skip to content

Initial attempt at CI/CD. Started by adding linting pipeline #3

Initial attempt at CI/CD. Started by adding linting pipeline

Initial attempt at CI/CD. Started by adding linting pipeline #3

Workflow file for this run

# name: Test
# on:
# push:
# pull_request:
# jobs:
# mysql:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# max-parallel: 5
# matrix:
# python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
# services:
# mariadb:
# image: mariadb
# env:
# MARIADB_ROOT_PASSWORD: debug_toolbar
# options: >-
# --health-cmd "mariadb-admin ping"
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# ports:
# - 3306:3306
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# allow-prereleases: true
# - name: Get pip cache dir
# id: pip-cache
# run: |
# echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install --upgrade tox tox-gh-actions
# - name: Test with tox
# run: tox
# env:
# DB_BACKEND: mysql
# DB_USER: root
# DB_PASSWORD: debug_toolbar
# DB_HOST: 127.0.0.1
# DB_PORT: 3306
# - name: Upload coverage data
# uses: actions/upload-artifact@v3
# with:
# name: coverage-data
# path: ".coverage.*"
# postgres:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# max-parallel: 5
# matrix:
# python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
# database: [postgresql, postgis]
# # Add psycopg3 to our matrix for modern python versions
# include:
# - python-version: "3.10"
# database: psycopg3
# - python-version: "3.11"
# database: psycopg3
# - python-version: "3.12"
# database: psycopg3
# services:
# postgres:
# image: postgis/postgis:14-3.1
# env:
# POSTGRES_DB: debug_toolbar
# POSTGRES_USER: debug_toolbar
# POSTGRES_PASSWORD: debug_toolbar
# ports:
# - 5432:5432
# options: >-
# --health-cmd pg_isready
# --health-interval 10s
# --health-timeout 5s
# --health-retries 5
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# allow-prereleases: true
# - name: Get pip cache dir
# id: pip-cache
# run: |
# echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
# - name: Install gdal-bin (for postgis)
# run: |
# sudo apt-get -qq update
# sudo apt-get -y install gdal-bin
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install --upgrade tox tox-gh-actions
# - name: Test with tox
# run: tox
# env:
# DB_BACKEND: ${{ matrix.database }}
# DB_HOST: localhost
# DB_PORT: 5432
# sqlite:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# max-parallel: 5
# matrix:
# python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: ${{ matrix.python-version }}
# allow-prereleases: true
# - name: Get pip cache dir
# id: pip-cache
# run: |
# echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install --upgrade tox tox-gh-actions
# - name: Test with tox
# run: tox
# env:
# DB_BACKEND: sqlite3
# DB_NAME: ":memory:"
# - name: Upload coverage data
# uses: actions/upload-artifact@v3
# with:
# name: coverage-data
# path: ".coverage.*"
# coverage:
# name: Check coverage.
# runs-on: "ubuntu-latest"
# needs: [sqlite, mysql, postgres]
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-python@v4
# with:
# # Use latest, so it understands all syntax.
# python-version: "3.11"
# - run: python -m pip install --upgrade coverage[toml]
# - name: Download coverage data.
# uses: actions/download-artifact@v3
# with:
# name: coverage-data
# - name: Combine coverage & check percentage
# run: |
# python -m coverage combine
# python -m coverage html
# python -m coverage report
# - name: Upload HTML report if check failed.
# uses: actions/upload-artifact@v3
# with:
# name: html-report
# path: htmlcov
# if: ${{ failure() }}
# lint:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# steps:
# - uses: actions/checkout@v3
# - name: Set up Python ${{ matrix.python-version }}
# uses: actions/setup-python@v4
# with:
# python-version: 3.8
# - name: Get pip cache dir
# id: pip-cache
# run: |
# echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT
# - name: Install dependencies
# run: |
# python -m pip install --upgrade pip
# python -m pip install --upgrade tox
# - name: Test with tox
# run: tox -e docs,packaging