Automated dependency upgrades #861
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: testing | |
on: | |
workflow_dispatch: # Allow running on-demand | |
push: | |
branches: | |
- master | |
paths: | |
- mpcontribs-client/** | |
pull_request: | |
branches: | |
- master | |
paths: | |
- mpcontribs-client/** | |
jobs: | |
test: | |
name: ${{ matrix.client-package }} (${{ matrix.os }}/py${{ matrix.python-version }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: ["ubuntu-latest"] | |
python-version: ["3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
- name: Install dependencies | |
run: | | |
python${{ matrix.python-version }} -m pip install --upgrade pip build pip-tools | |
python${{ matrix.python-version }} -m piptools compile --resolver=backtracking --extra dev -o requirements.txt mpcontribs-client/setup.py mpcontribs-api/setup.py | |
python${{ matrix.python-version }} -m pip install -r requirements.txt | |
cd mpcontribs-api && python${{ matrix.python-version }} -m pip install --no-deps . | |
- name: Set SSL_CERT_FILE (Linux) | |
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | |
run: | | |
export SSL_CERT_FILE=$(python${{ matrix.python-version }} -m certifi) | |
echo "SSL_CERT_FILE=$SSL_CERT_FILE" >> $GITHUB_ENV | |
- name: Set SSL_CERT_FILE (Windows) | |
if: matrix.os == 'windows-latest' | |
run: | | |
$env:SSL_CERT_FILE=$(python${{ matrix.python-version }} -m certifi) | |
echo "SSL_CERT_FILE=$env:SSL_CERT_FILE" >> $GITHUB_ENV | |
- name: Test Client and build | |
env: | |
MPCONTRIBS_API_KEY: ${{ secrets.MPCONTRIBS_API_KEY }} | |
SSL_CERT_FILE: ${{ env.SSL_CERT_FILE }} | |
shell: bash | |
run: | | |
cd mpcontribs-client | |
python${{ matrix.python-version }} -m flake8 --max-line-length 100 | |
python${{ matrix.python-version }} -m pycodestyle --max-line-length 100 . | |
python${{ matrix.python-version }} -m pytest -v -s --cov=mpcontribs/client --cov-report=term-missing --cov-report=xml --ignore=bravado | |
python${{ matrix.python-version }} -m build --outdir ../dist | |
- name: Publish distribution 📦s to Test PyPI | |
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.10' | |
uses: pypa/gh-action-pypi-publish@release/v1.5 | |
with: | |
skip_existing: true | |
password: ${{ secrets.test_pypi_password }} | |
repository_url: https://test.pypi.org/legacy/ | |
auto-gen-release: | |
needs: | |
- test | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_TOKEN: ${{ secrets.PAT }} | |
steps: | |
- uses: rymndhng/release-on-push-action@v0.25.0 | |
with: | |
bump_version_scheme: norelease |