synapse-s3-storage-provider/.github/workflows/ci.yml

82 lines
1.9 KiB
YAML
Raw Normal View History

2021-02-17 16:22:05 +00:00
name: CI
on:
push:
branches: [ main ]
2021-02-17 16:22:05 +00:00
pull_request:
branches: [ main ]
2021-02-17 16:22:05 +00:00
workflow_dispatch:
jobs:
lint:
name: "Lint & Packaging"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2021-02-17 16:22:05 +00:00
- uses: "actions/setup-python@v4"
2021-02-17 16:22:05 +00:00
with:
python-version: "3.6"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade tox
- name: "Run tox lint targets for ${{ matrix.python-version }}"
run: "python -m tox -e check_isort,pep8,packaging"
build:
# This is similar to the job in `release.yml`, but it does NOT upload to PyPI.
# We include it here to reduce the likelihood of someone publishing a release
# which doesn't build.
name: "Build and check Python package"
runs-on: "ubuntu-latest"
steps:
- uses: "actions/checkout@v2"
- uses: "actions/setup-python@v2"
with:
python-version: "3.6"
- name: "Install packaging tools"
run: "python -m pip install --upgrade build twine"
- name: "Build dist package"
run: "python -m build"
- name: "Run twine checks"
run: "python -m twine check dist/*"
2021-02-17 16:22:05 +00:00
tests:
needs: lint
name: "Python ${{ matrix.python-version }}"
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9"]
steps:
- uses: actions/checkout@v2
- uses: "actions/setup-python@v4"
2021-02-17 16:22:05 +00:00
with:
python-version: "${{ matrix.python-version }}"
- name: "Install dependencies"
run: |
set -xe
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade tox
- name: "Run tox targets for ${{ matrix.python-version }}"
run: "python -m tox -e py"