[WIP] Updating the API client #1162
This file contains hidden or 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.11", "3.12"] | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: "pip" | |
| - name: Install dependencies | |
| run: | | |
| python${{ matrix.python-version }} -m pip install --upgrade "pip<25.3" build pip-tools pre-commit | |
| python${{ matrix.python-version }} -m piptools compile --extra dev -o requirements.txt mpcontribs-client/pyproject.toml mpcontribs-api/pyproject.toml | |
| 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: Run pre-commit | |
| run: | | |
| pre-commit install | |
| pre-commit run --all-files | |
| - 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 pip install --no-deps . | |
| 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 -n auto -v -s --cov=mpcontribs/client --cov-report=term-missing --cov-report=xml --ignore=bravado | |
| python${{ matrix.python-version }} -m build --outdir ../dist | |
| - name: Install lux and test with pytest | |
| run: | | |
| git lfs install | |
| git lfs pull | |
| cd mpcontribs-lux | |
| python${{ matrix.python-version }} -m pip install -r requirements/requirements-${{ matrix.os }}_py${{ matrix.python-version }}_extras.txt | |
| python${{ matrix.python-version }} -m pip install -e . | |
| python${{ matrix.python-version }} -m pytest -n auto -x --cov=mpcontribs/lux --cov-report=xml | |
| auto-gen-release: | |
| needs: | |
| - test | |
| runs-on: ubuntu-latest | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.PAT }} | |
| steps: | |
| - uses: rymndhng/[email protected] | |
| with: | |
| bump_version_scheme: norelease |