diff options
author | Micah Jerome Ellison <micah.jerome.ellison@gmail.com> | 2021-07-10 12:13:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-10 12:13:15 -0700 |
commit | 2723e1cfb55d2af965b8b0bded4b24ebcbffe6f1 (patch) | |
tree | de7153223b8f25189d12971dbc77b42165af4703 /.github | |
parent | 56df419bea3750fa7156dec80a6850a6f906944c (diff) |
Add Python 3.10 support (#1271)
* Add Python 3.10 support
* Change Python 3.10 to 3.10-dev in CI
* Run poetry update
* Turn off fail-fast to troubleshoot
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* Add continue-on-error for 3.10
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
* use prerelease poetry for prerelease python
* fix syntax error
* rename steps to make more sense
* remove dev dependency that breaks with python 3.10
* update tests
* Change test dependencies for minimal breakage on python 3.10
- loosen the test dep requirements (so we get warned about these
problems sooner)
- add new extras group to provide minimal deps required for testing (we
don't need to run static analysis again on every version)
* change how we check if deps are installed so test don't run wild
* add setuptools due to poetry bug, clean up other steps
* update lock file
* test
* Revert "test"
This reverts commit 31e538300ef7f2ab3ff84da7fe03f156e4714e06.
Co-authored-by: Jonathan Wren <jonathan@nowandwren.com>
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/testing.yaml | 41 |
1 files changed, 33 insertions, 8 deletions
diff --git a/.github/workflows/testing.yaml b/.github/workflows/testing.yaml index 47710ca2..396fc854 100644 --- a/.github/workflows/testing.yaml +++ b/.github/workflows/testing.yaml @@ -23,9 +23,11 @@ jobs: if: > ! contains(github.event.head_commit.message, '[ci skip]') runs-on: ${{ matrix.os }} + continue-on-error: ${{ matrix.python-version == '3.10-dev' }} strategy: + fail-fast: false matrix: - python-version: [ 3.7, 3.8, 3.9 ] + python-version: [ 3.7, 3.8, 3.9, 3.10-dev ] os: [ ubuntu-latest, macos-latest, windows-latest ] steps: @@ -44,27 +46,50 @@ jobs: key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }}-v2 - name: Install dependencies + if: ${{ matrix.python-version != '3.10-dev' }} run: | + echo '::group::poetry' pip install poetry poetry config --local virtualenvs.in-project true + echo '::endgroup::' + + echo '::group::Other dependencies' poetry install --remove-untracked + echo '::endgroup::' + + echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV + + + - name: Install dependencies (Prerelease) + if: ${{ matrix.python-version == '3.10-dev' }} + run: | + echo '::group::poetry' + pip install poetry==1.2.0a1 + poetry config --local virtualenvs.in-project true + echo '::endgroup::' + + echo '::group::Other dependencies' + poetry install --remove-untracked --no-dev --extras testing + echo '::endgroup::' + + echo 'DEPS_INSTALLED=true' >> $GITHUB_ENV - name: Code formatting (Black) - if: success() || failure() + if: ${{ matrix.python-version != '3.10-dev' && env.DEPS_INSTALLED == 'true' }} run: | poetry run black --version poetry run black --check --diff . - - name: Code Style (PyFlakes) - if: success() || failure() + - name: Code Style (flake8) + if: ${{ matrix.python-version != '3.10-dev' && env.DEPS_INSTALLED == 'true' }} run: | - poetry run pyflakes --version - poetry run pyflakes jrnl features tests + poetry run pflake8 --version + poetry run pflake8 jrnl features tests - name: Test with pytest - if: success() || failure() + if: ${{ env.DEPS_INSTALLED == 'true' }} run: poetry run pytest --junitxml=reports/pytest/results.xml - name: Test with behave - if: success() || failure() + if: ${{ env.DEPS_INSTALLED == 'true' }} run: poetry run behave --no-skipped --format progress2 --junit --junit-directory reports/behave |