diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d11de37d26..1254bc38ab4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,22 +11,22 @@ jobs: runs-on: ubuntu-latest strategy: matrix: + python-version: ['py38', 'py311', 'py312'] include: - django-env: django32 testname: quality-and-jobs - targets: PYTHON_ENV=py38 requirements.js check_translations_up_to_date validate_translations clean_static static quality validate_js check_keywords + targets: requirements.js check_translations_up_to_date validate_translations clean_static static quality validate_js check_keywords - django-env: django32 testname: test-python - targets: PYTHON_ENV=py38 requirements.js clean_static static validate_python + targets: requirements.js clean_static static validate_python - django-env: django32 testname: acceptance-python - targets: PYTHON_ENV=py38 requirements.js clean_static static acceptance - + targets: requirements.js clean_static static acceptance steps: - uses: actions/checkout@v2 - name: Start container run: | - docker-compose -f ./.ci/docker-compose-ci.yml up -d + docker compose -f ./.ci/docker-compose-ci.yml up -d - name: Install dependencies run: | docker exec -t ecommerce_testing bash -c " @@ -38,7 +38,7 @@ jobs: docker exec -t -e CI=1 ecommerce_testing bash -c " cd /edx/app/ecommerce/ecommerce/ && PATH=\$PATH:/edx/app/ecommerce/nodeenvs/ecommerce/bin:/snap/bin - DJANGO_ENV=${{ matrix.django-env }} make ${{ matrix.targets }} + DJANGO_ENV=${{ matrix.django-env }} PYTHON_ENV=${{matrix.python-version}} make ${{ matrix.targets }} " - name: Run coverage if: matrix.testname == 'test-python' @@ -59,11 +59,14 @@ jobs: docs: runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.8', '3.11', '3.12'] steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: - python-version: "3.8" + python-version: ${{matrix.python-version}} architecture: x64 - name: Install Dependencies run: pip install -r requirements/docs.txt -r requirements/tox.txt diff --git a/tox.ini b/tox.ini index c84ff81e9a2..e197b54f3d8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] skipsdist=True -envlist = py38-django32-{static,pylint,tests,theme_static,check_keywords},py38-{isort,pycodestyle,extract_translations,dummy_translations,compile_translations, detect_changed_translations,validate_translations},docs +envlist = py{38, 311, 312}-django32-{static,pylint,tests,theme_static,check_keywords},py{38, 311, 312}-{isort,pycodestyle,extract_translations,dummy_translations,compile_translations, detect_changed_translations,validate_translations},docs [pytest] addopts = --ds=ecommerce.settings.test --cov=ecommerce --cov-report term --cov-config=.coveragerc --no-cov-on-fail -p no:randomly --no-migrations -m "not acceptance"