Skip to content

test: Add Node 20 to CI matrix #53

test: Add Node 20 to CI matrix

test: Add Node 20 to CI matrix #53

Workflow file for this run

name: Default CI
on:
push:
branches:
- master
pull_request:
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
python-version: ["3.8", "3.12"]
os: [ubuntu-20.04]
toxenv: [django42]
node: [18, 20]
continue-on-error: ${{ matrix.node == 20 }}
env:
DATA_API_VERSION: "latest"
steps:
- name: setup python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Format Python Version
id: format_python_version
shell: bash
run: |
# Replace the dot in the Python version and remove 'py'
FORMATTED_VERSION=${{ matrix.python-version }} # e.g., 3.12
FORMATTED_VERSION=${FORMATTED_VERSION//./} # becomes 312
# Set environment variables
echo "FORMATTED_PYTHON_VERSION=py${FORMATTED_VERSION}" >> $GITHUB_ENV
# Output formatted version for use in subsequent steps
echo "Formatted Python Version: py${FORMATTED_VERSION}"
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: start container
env:
PYTHON_VERSION: ${{ matrix.python-version }}
run: docker compose -f .github/docker-compose-github.yml up -d
- name: setup analytics-api
run: |
docker exec analytics_api bash -c "
source /edx/app/analytics_api/venvs/analytics_api/bin/activate &&
pip install setuptools==68.2.2 &&
make -C /edx/app/analytics_api/analytics_api github_ci"
- name: install dependencies
run: pip install -r requirements/github.txt
- name: test quality
run: ./.github/scripts/testing.sh
shell: bash
env:
TESTNAME: quality
TARGETS: "quality"
TOXENV: ${{ env.FORMATTED_PYTHON_VERSION }}-${{ matrix.toxenv }}
- name: test js
run: ./.github/scripts/testing-js.sh
shell: bash
env:
TESTNAME: js
NODE: ${{ matrix.node }}
TOXENV: ${{ env.FORMATTED_PYTHON_VERSION }}-${{ matrix.toxenv }}
TARGETS: "requirements.js validate_js"
- name: test i18n
run: ./.github/scripts/testing.sh
shell: bash
env:
TESTNAME: test-i18n
TOXENV: ${{ env.FORMATTED_PYTHON_VERSION }}-${{ matrix.toxenv }}
TARGETS: "generate_fake_translations"
- name: test acceptance
run: ./.github/scripts/testing-js.sh
shell: bash
env:
TESTNAME: acceptance
NODE: ${{ matrix.node }}
TOXENV: ${{ env.FORMATTED_PYTHON_VERSION }}-${{ matrix.toxenv }}
TARGETS: "requirements.a11y migrate requirements.js static accept"
- name: test python
run: ./.github/scripts/testing-js.sh
shell: bash
env:
TESTNAME: test-python
NODE: ${{ matrix.node }}
TOXENV: ${{ env.FORMATTED_PYTHON_VERSION }}-${{ matrix.toxenv }}
TARGETS: "requirements.js static test_python"
- name: Run coverage
if: matrix.python-version == '3.8' && matrix.toxenv == 'django42'
uses: py-cov-action/python-coverage-comment-action@v3
with:
GITHUB_TOKEN: ${{ github.token }}
MINIMUM_GREEN: 95
MINIMUM_ORANGE: 84
ANNOTATE_MISSING_LINES: true
ANNOTATION_TYPE: error