gpchelkin/scdlbot

View on GitHub
.github/workflows/build.yml

Summary

Maintainability
Test Coverage
name: build

on:
  push:
    branches:
      - master
      - release
  pull_request:
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.9', '3.10', '3.11', '3.12']

    steps:
    - uses: actions/checkout@v4.1.6
    - name: Set up Python ${{ matrix.python-version }}
      uses: actions/setup-python@v5.1.0
      with:
        python-version: ${{ matrix.python-version }}
    - name: Display Python version
      run: python -c "import sys; print(sys.version)"

    - name: Install Poetry
      run: |
        pip install --upgrade pip
        pip install --upgrade setuptools wheel
        export POETRY_VERSION=1.8.3
        wget --output-document=install-poetry.py https://install.python-poetry.org
        python "install-poetry.py"
        rm -f "install-poetry.py"
        echo "$HOME/.poetry/bin" >> $GITHUB_PATH
        poetry config installer.parallel true
        poetry config installer.modern-installation true

    - name: Install tox
      run: |
        pip install --upgrade tox tox-gh-actions

    - name: Test with tox
      run: tox