Bump py-actions/py-dependency-install from 2 to 4 (#57) #1362
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
branches: | |
- 'master' | |
- '[0-9].[0-9]+' # matches to backport branches, e.g. 3.6 | |
tags: [ 'v*' ] | |
pull_request: | |
branches: | |
- 'master' | |
- '[0-9].[0-9]+' | |
schedule: | |
- cron: '0 6 * * *' # Daily 6AM UTC build | |
jobs: | |
lint: | |
name: Linter | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup Python 3.8 | |
uses: actions/setup-python@v4 | |
- name: Cache PyPI | |
uses: actions/[email protected] | |
with: | |
key: pip-lint-${{ hashFiles('requirements.txt') }} | |
path: ~/.cache/pip | |
restore-keys: | | |
pip-lint- | |
- name: Install dependencies | |
uses: py-actions/py-dependency-install@v4 | |
with: | |
path: requirements.txt | |
- name: Run linters | |
run: | | |
make fmt | |
env: | |
CI_LINT_RUN: 1 | |
test: | |
name: Test | |
needs: [lint] | |
strategy: | |
matrix: | |
pyver: ['3.8', '3.9', '3.10'] | |
fail-fast: false | |
runs-on: ubuntu-latest | |
timeout-minutes: 15 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup Python ${{ matrix.pyver }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.pyver }} | |
- name: Get pip cache dir | |
id: pip-cache | |
run: | | |
echo "::set-output name=dir::$(pip cache dir)" # - name: Cache | |
- name: Cache PyPI | |
uses: actions/[email protected] | |
with: | |
key: pip-ci-${{ matrix.pyver }}-${{ hashFiles('requirements.txt') }} | |
path: ${{ steps.pip-cache.outputs.dir }} | |
restore-keys: | | |
pip-ci-${{ matrix.pyver }}- | |
- name: Install dependencies | |
uses: py-actions/py-dependency-install@v4 | |
with: | |
path: requirements.txt | |
- name: Run unittests | |
run: | | |
make test | |
python -m coverage xml | |
- name: Upload coverage | |
uses: codecov/[email protected] | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
file: ./coverage.xml | |
flags: unit | |
fail_ci_if_error: false | |
test-summary: | |
name: Test matrix status | |
runs-on: ubuntu-latest | |
needs: [lint, test] | |
steps: | |
- name: Placeholder | |
run: | | |
true | |
deploy: | |
name: Deploy | |
runs-on: ubuntu-latest | |
needs: test-summary | |
# Run only on pushing a tag | |
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
- name: Setup Python 3.8 | |
uses: actions/setup-python@v4 | |
- name: Install dependencies | |
run: | |
python -m pip install -U pip wheel twine | |
- name: Make dists | |
run: | |
python setup.py sdist bdist_wheel | |
- name: PyPI upload | |
env: | |
TWINE_USERNAME: __token__ | |
TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }} | |
run: | | |
twine upload dist/* |