Added in another sleep for docker tests when verifying test data. #263
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: Main | |
on: | |
- push | |
- pull_request | |
jobs: | |
test: | |
strategy: | |
fail-fast: true | |
matrix: | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
os: ['ubuntu-20.04', 'ubuntu-22.04', 'ubuntu-24.04', 'macos-13', 'macos-14', 'macos-15', 'windows-2019', 'windows-2022'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache Python Dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ runner.os }}-os:${{ matrix.os }}-python:${{ matrix.python-version }}-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('requirements.txt') }} | |
- name: Install Dependencies | |
shell: bash | |
run: pip3 install -r requirements.txt -r requirements-dev.txt | |
- name: Check Python Version Compatibility | |
shell: bash | |
run: vermin --no-tips --no-parse-comments --exclude ast.unparse --target=3.8- --violations autograder | |
- name: Run Tests | |
shell: bash | |
run: ./run_tests.py | |
- name: Check Style | |
shell: bash | |
run: ./.ci/check_style.sh | |
verify-test-data: | |
needs: test | |
strategy: | |
matrix: | |
python-version: ['3.11'] | |
os: ['ubuntu-22.04'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache Python Dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ runner.os }}-os:${{ matrix.os }}-python:${{ matrix.python-version }}-${{ env.pythonLocation }}-${{ hashFiles('setup.py') }}-${{ hashFiles('requirements.txt') }} | |
- name: Install Dependencies | |
shell: bash | |
run: pip3 install -r requirements.txt -r requirements-dev.txt | |
- name: Verify Test Data | |
shell: bash | |
run: ./.ci/verify_test_api_requests.py --docker | |
deploy: | |
needs: verify-test-data | |
strategy: | |
matrix: | |
python-version: ['3.11'] | |
os: ['ubuntu-22.04'] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set Up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Cache Python Dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ${{ env.pythonLocation }} | |
key: ${{ runner.os }}-os:${{ matrix.os }}-python:${{ matrix.python-version }}-${{ env.pythonLocation }}-${{ hashFiles('pyproject.toml') }}-${{ hashFiles('requirements.txt') }} | |
- name: Install Python Dependencies | |
shell: bash | |
run: pip3 install -r requirements.txt -r requirements-dev.txt | |
- name: Deploy | |
uses: casperdcl/deploy-pypi@10cf4cd83fc885003a8d4f37f93a5a0f0fc2d2f4 # v2.4.1 | |
with: | |
build: --sdist --wheel --outdir dist . | |
# Only upload if a tag is pushed (otherwise just build & check). | |
upload: ${{ github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') }} | |
password: ${{ secrets.PYPI_TOKEN }} |