Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prevents Scheduled Workflow From Being Deactivated & [IBCDPE-898] Fix Python Versioning Issue for CI #3

Merged
merged 7 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 18 additions & 8 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,10 @@ jobs:
with: {python-version: "3.11"}
- name: Run static analysis and format checkers
run: pipx run pre-commit run --all-files --show-diff-on-failure
- name: Install tox-gh plugin
run: python -m pip install tox-gh>=1.2
- name: Build package distribution files
run: pipx run --spec 'tox~=3.0' tox -e clean,build
run: tox -e clean,build
- name: Record the paths of wheel and source tarball distributions
id: distribution-paths
run: |
Expand All @@ -48,43 +50,51 @@ jobs:
name: python-distribution-files
path: dist/
retention-days: 1
- name: Keepalive Workflow
uses: gautamkrishnar/[email protected]
with:
time_elapsed: 44

test:
needs: prepare
strategy:
matrix:
python:
- "3.8"
- "3.9" # oldest Python that is supported
- "3.11" # newest Python that is stable
platform:
- ubuntu-latest
- macos-latest
# TODO: Debug the Windows issues
# - windows-latest
env:
OS: ${{ matrix.platform }}
PYTHON: ${{ matrix.python }}
runs-on: ${{ matrix.platform }}
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python }}
- name: Retrieve pre-built distribution files
uses: actions/download-artifact@v3
- uses: actions/download-artifact@v3
with: {name: python-distribution-files, path: dist/}
- name: Install tox-gh plugin
run: python -m pip install tox-gh>=1.2
- name: Setup test suite
run: tox -vv --notest
- name: Run tests (without integration tests)
if: matrix.platform != 'ubuntu-latest' || matrix.python != '3.11'
env:
SYNAPSE_AUTH_TOKEN: ${{ secrets.SYNAPSE_AUTH_TOKEN }}
run: >-
pipx run --spec 'tox~=3.0' tox
--installpkg '${{ needs.prepare.outputs.wheel-path }}'
tox --installpkg '${{ needs.prepare.outputs.wheel-path }}'
-- -rFEx --durations 10 --color yes -m "not integration"
- name: Run tests (with integration tests)
if: matrix.platform == 'ubuntu-latest' && matrix.python == '3.11'
env:
SYNAPSE_AUTH_TOKEN: ${{ secrets.SYNAPSE_AUTH_TOKEN }}
run: >-
pipx run --spec 'tox~=3.0' tox
--installpkg '${{ needs.prepare.outputs.wheel-path }}'
tox --installpkg '${{ needs.prepare.outputs.wheel-path }}'
-- -rFEx --durations 10 --color yes
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
Expand Down
2 changes: 1 addition & 1 deletion .readthedocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ formats:
- pdf

python:
version: 3.8
version: 3.9
install:
- requirements: docs/requirements.txt
- {path: ., method: pip}
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ package_dir =
=src

# Require a min/specific Python version (comma-separated conditions)
python_requires = >=3.8
python_requires = >=3.9, <3.12

# Add here dependencies of your project (line-separated), e.g. requests>=2.2,<3.0.
# Version specifiers like >=2.2,<3.0 avoid problems due to API changes in
Expand Down
8 changes: 6 additions & 2 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
# THIS SCRIPT IS SUPPOSED TO BE AN EXAMPLE. MODIFY IT ACCORDING TO YOUR NEEDS!

[tox]
minversion = 3.24
envlist = default
minversion = 4.2
isolated_build = True

[gh]
python =
3.9: py39
3.10: py310
3.11: py311

[testenv]
description = Invoke pytest to run automated tests
Expand Down
Loading