name: GitHub CI on: push: branches: - master pull_request: jobs: test: runs-on: ${{ matrix.os }} container: ${{ matrix.container }} strategy: fail-fast: false matrix: include: - name: py2.6 os: ubuntu-latest container: centos:6 python-version: 2.6 - name: py3.10 with ossl3.0 os: ubuntu-latest container: ubuntu:22.04 python-version: "3.10" tox-env: py310 - name: py2.7 os: ubuntu-20.04 python-version: 2.7 tox-env: py27 - name: py2.7 with old gmpy os: ubuntu-20.04 python-version: 2.7 tox-env: py27_old_gmpy - name: py2.7 with old gmpy2 os: ubuntu-20.04 python-version: 2.7 tox-env: py27_old_gmpy2 - name: py2.7 with old six os: ubuntu-20.04 python-version: 2.7 tox-env: py27_old_six - name: py2.7 with gmpy os: ubuntu-20.04 python-version: 2.7 tox-env: gmpypy27 - name: py2.7 with gmpy2 os: ubuntu-20.04 python-version: 2.7 tox-env: gmpy2py27 - name: py3.5 os: ubuntu-20.04 python-version: 3.5 tox-env: py35 - name: py3.6 os: ubuntu-20.04 python-version: 3.6 tox-env: py36 - name: py3.7 os: ubuntu-latest python-version: 3.7 tox-env: py37 - name: py3.8 os: ubuntu-latest python-version: 3.8 tox-env: py38 - name: py3.9 os: ubuntu-latest python-version: 3.9 tox-env: py39 - name: py3.10 os: ubuntu-latest python-version: '3.10' tox-env: py310 - name: py3.10 with gmpy os: ubuntu-latest python-version: '3.10' tox-env: gmpypy310 - name: py3.10 with gmpy2 os: ubuntu-latest python-version: '3.10' tox-env: gmpy2py310 - name: py3.11 os: ubuntu-latest python-version: '3.11' tox-env: py311 - name: py3.12 os: ubuntu-latest python-version: '3.12.0-alpha.5' tox-env: py312 - name: pypy os: ubuntu-latest python-version: pypy-2.7 tox-env: pypy - name: pypy3 os: ubuntu-latest python-version: pypy-3.7 tox-env: pypy3 # special configurations - name: py2.7 with instrumental os: ubuntu-20.04 python-version: 2.7 opt-deps: ['instrumental'] - name: code checks os: ubuntu-latest python-version: 3.9 tox-env: codechecks steps: - uses: actions/checkout@v2 if: ${{ !matrix.container }} with: fetch-depth: 50 - uses: actions/checkout@v1 # centos 6 doesn't have glibc new enough for the nodejs used by v2 if: ${{ matrix.container }} with: fetch-depth: 50 - name: Ensure dependencies on CentOS if: ${{ matrix.container == 'centos:6' }} run: | ls /etc/yum.repos.d/ cat /etc/yum.repos.d/CentOS-Base.repo rm /etc/yum.repos.d/CentOS-Base.repo cat > /etc/yum.repos.d/CentOS-Base.repo <> $GITHUB_ENV - name: Create condition coverage badge uses: schneegans/dynamic-badges-action@v1.4.0 if: ${{ contains(matrix.opt-deps, 'instrumental') && !github.event.pull_request }} with: auth: ${{ secrets.GIST_SECRET }} gistID: 9b6ca1f3410207fbeca785a178781651 filename: python-ecdsa-condition-coverage.json label: condition coverage message: ${{ env.COND_COV }}% valColorRange: ${{ env.COND_COV }} maxColorRange: 100 minColorRange: 0 - name: Publish coverage to Coveralls if: ${{ !matrix.opt-deps && matrix.tox-env != 'codechecks' }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_FLAG_NAME: ${{ matrix.name }} COVERALLS_PARALLEL: true COVERALLS_SERVICE_NAME: github run: coveralls coveralls: name: Indicate completion to coveralls.io needs: test runs-on: ubuntu-latest container: python:3-slim steps: - name: Install coveralls run: | pip3 install --upgrade coveralls - name: Send "finished" signal to coveralls env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_SERVICE_NAME: github run: | coveralls --finish