fix: make AsyncUnleashClient a top level import #2303
Workflow file for this run
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - main | |
| # Rebasing a stack force-pushes several branches at once. Without this, every | |
| # superseded push keeps its runners until it finishes. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
| jobs: | |
| main: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python 3.8 | |
| uses: actions/setup-python@v4 | |
| with: | |
| python-version: "3.8" | |
| - name: Install packages | |
| run: | | |
| make install | |
| - name: Linting | |
| run: | | |
| make lint | |
| - name: Run tests | |
| run: | | |
| make test | |
| - name: Upload coverage report | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: test_results/cov.xml | |
| if-no-files-found: error | |
| coverage: | |
| name: coverage/coveralls | |
| runs-on: ubuntu-latest | |
| needs: main | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Download coverage report | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: coverage-report | |
| path: test_results | |
| - name: Send coverage to Coveralls | |
| uses: coverallsapp/github-action@v2 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| format: cobertura | |
| file: test_results/cov.xml | |
| # One job per OS, running that OS's interpreters in parallel via tox, rather | |
| # than one job per (OS, version) pair. Every OS runs the full supported matrix. | |
| # | |
| # The version list below installs the interpreters; tox picks the environments | |
| # to run from tox.ini's envlist. Keep the two in sync with each other and with | |
| # the classifiers in pyproject.toml. | |
| tox: | |
| name: tox (${{ matrix.os }}) | |
| runs-on: ${{ matrix.os }} | |
| permissions: | |
| contents: read | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| # Every listed version is installed; the last one becomes the default | |
| # `python`, which is the interpreter tox itself runs under. | |
| python-version: | | |
| 3.8 | |
| 3.9 | |
| 3.10 | |
| 3.11 | |
| 3.12 | |
| 3.13 | |
| cache: pip | |
| cache-dependency-path: requirements.txt | |
| - name: Install Tox and any other packages | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install tox | |
| - name: Run Tox | |
| run: tox --parallel auto --parallel-no-spinner |