build #262
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: build | |
on: | |
push: | |
pull_request: | |
schedule: # nightly build | |
- cron: '0 0 * * *' | |
jobs: | |
# enable the following mypy job once it is added to tox | |
# | |
# mypy: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-python@v2 | |
# - run: python -m pip install tox | |
# - run: python -m tox -e mypy | |
test: | |
strategy: | |
matrix: | |
tox-env: ["py"] | |
python-version: ["3.7", "3.8", "3.9", "3.10", "3.11"] | |
include: | |
- python-version: "3.11" | |
tox-env: "lint" | |
name: "lint" | |
- python-version: "3.8" # match readthedocs | |
tox-env: "docs" | |
name: "docs" | |
- python-version: "3.11" | |
tox-env: "py-marshmallowdev" | |
name: "test marshmallow 'dev' on py3.11" | |
- python-version: "3.7" | |
tox-env: "py-mindeps" | |
name: "test mindeps on py3.7" | |
name: "${{ matrix.name || format('test py{0}', matrix.python-version ) }}" | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- run: python -m pip install tox | |
- run: python -m tox -e ${{ matrix.tox-env }} | |
# TODO: | |
# the following config is copied from the webargs release process and should be applicable here | |
# however, it needs credentials in the project repo to publish, and it may be possible to refine | |
# this into something even better | |
# | |
# | |
# # this duplicates pre-commit.ci, so only run it on tags | |
# # it guarantees that linting is passing prior to a release | |
# lint-pre-release: | |
# if: startsWith(github.ref, 'refs/tags') | |
# runs-on: ubuntu-latest | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-python@v2 | |
# - run: python -m pip install tox | |
# - run: python -m tox -e lint | |
# | |
# release: | |
# needs: [mypy, test, lint-pre-release] | |
# runs-on: ubuntu-latest | |
# if: startsWith(github.ref, 'refs/tags') | |
# steps: | |
# - uses: actions/checkout@v2 | |
# - uses: actions/setup-python@v2 | |
# - name: install requirements | |
# run: python -m pip install build twine | |
# - name: build dists | |
# run: python -m build | |
# - name: check package metadata | |
# run: twine check dist/* | |
# - name: publish | |
# run: twine upload -u __token__ -p ${{ secrets.PYPI_API_TOKEN }} dist/* |