Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
View runs Go to file
 
 
Cannot retrieve contributors at this time
# NB: this name is used in the status badge
name: build
on:
push:
branches:
- master
pull_request:
branches:
- master
workflow_dispatch:
schedule:
- cron: "0 5 * * 6" # 5:00 UTC every Saturday
jobs:
build:
name: Python ${{ matrix.python-version }}, ${{ matrix.vcs }}
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
python-version:
- "3.7"
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "pypy-3.7"
vcs:
- bzr
- git
- hg
- svn
steps:
- name: Install OS-level dependencies
run: sudo apt-get install -y bzr git mercurial subversion
# NB: at some point I'll want to switch from legacy Bazaar (apt package
# bzr) to Breezy (apt package brz). They're both available in
# ubuntu-18.04 and ubuntu20.04.
- name: Git clone
uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: "${{ matrix.python-version }}"
- name: Pip cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('setup.py') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.python-version }}-
${{ runner.os }}-pip-
- name: Install Python dependencies
run: |
python -m pip install -U pip
python -m pip install -U setuptools wheel
python -m pip install -U coverage coveralls pytest flake8
python -m pip install -e .[test]
- name: Run tests
run: coverage run -m pytest
env:
SKIP_NO_TESTS: "1"
FORCE_TEST_VCS: ${{ matrix.vcs }}
- name: Check test coverage
run: coverage report -m --fail-under=${{ matrix.vcs == 'bzr' && 99 || 100 }}
- name: Run check-manifest on itself
run: python check_manifest.py
- name: Report to coveralls
run: coveralls
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
COVERALLS_SERVICE_NAME: github
lint:
name: ${{ matrix.toxenv }}
runs-on: ubuntu-latest
strategy:
matrix:
toxenv:
- flake8
- mypy
- isort
- check-manifest
- check-python-versions
steps:
- name: Git clone
uses: actions/checkout@v3
- name: Set up Python ${{ env.default_python || '3.9' }}
uses: actions/setup-python@v3
with:
python-version: "${{ env.default_python || '3.9' }}"
- name: Pip cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ matrix.toxenv }}-${{ hashFiles('tox.ini', 'setup.py') }}
restore-keys: |
${{ runner.os }}-pip-${{ matrix.toxenv }}-
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install -U pip
python -m pip install -U setuptools wheel
python -m pip install -U tox
- name: Run ${{ matrix.toxenv }}
run: python -m tox -e ${{ matrix.toxenv }}