Skip to content
This repository has been archived by the owner on May 1, 2024. It is now read-only.

feat: add python311 support #543

feat: add python311 support

feat: add python311 support #543

Workflow file for this run

name: Python CI
on:
push:
branches:
- master
pull_request:
branches:
- '**'
jobs:
run_tests:
name: Tests
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-20.04']
python-version: ['3.8', '3.11']
targets: [ 'quality','main.test','docs' ]
steps:
- uses: actions/checkout@v3
- name: setup python
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Start Container
run: docker-compose -f .github/docker-compose-ci.yml up -d
- name: Install Python 3.11
if: matrix.python-version == '3.11'
run: docker exec -t analytics_api_testing bash -c "apt-get update
&& apt-get install -y software-properties-common && add-apt-repository ppa:deadsnakes/ppa -y
&& apt-get update && apt-get install -y python3.11"
- name: Create symbolic link for Python 3.11
if: matrix.python-version == '3.11'
run: docker exec -t analytics_api_testing bash -c "ln -sf /usr/bin/python3.11 /usr/local/bin/python3"
- name: Set TOXENV
id: set-toxenv
run: |
if [[ ${{ matrix.python-version }} == '3.8' ]]; then
echo "::set-output name=toxenv::py38-django42"
elif [[ ${{ matrix.python-version }} == '3.11' ]]; then
echo "::set-output name=toxenv::py311-django42"
fi
- name: Run Tests
run: |
docker exec -t analytics_api_testing bash -c "cd /edx/app/analytics_api/analytics_api/
&& export TOXENV=${{ steps.set-toxenv.outputs.toxenv }} && make test.requirements tox.requirements ${{ matrix.targets }}"
- name: Run Coverage
if: matrix.python-version == '3.8' && matrix.targets=='main.test'
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true