This repository has been archived by the owner on Nov 4, 2024. It is now read-only.
chore: Upgrade Python requirements #312
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: Python CI | |
on: | |
push: | |
branches: | |
- master | |
- /^\d+\.\d+(\.\d+)?(-\S*)?$/ | |
pull_request: | |
branches: | |
- '**' | |
jobs: | |
run_tests: | |
name: Tests | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
python-version: [3.8, 3.11, 3.12] | |
test-target: [test, quality] | |
steps: | |
- uses: actions/checkout@v1 | |
- name: setup python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Build Docker | |
run: | | |
docker compose -f .github/docker-compose-ci.yml up -d | |
docker exec ecomworker bash -c " | |
sudo apt-get update -y && | |
sudo apt-get install python${{ matrix.python-version }} \ | |
python${{ matrix.python-version }}-dev \ | |
python${{ matrix.python-version }}-distutils -y && | |
curl -sS https://bootstrap.pypa.io/get-pip.py | python${{ matrix.python-version }};" | |
# Need to install pip from source here^ otherwise some packages don't get installed | |
- name: Format Python Version | |
run: | | |
PYTHON_VERSION=${{ matrix.python-version }} | |
FORMATTED_VERSION=${PYTHON_VERSION/3./py3} | |
echo "PYTHON_VERSION=$FORMATTED_VERSION" >> $GITHUB_ENV | |
- name: Install dependencies | |
run: | | |
docker exec -t ecomworker bash -c " | |
cd /edx/app/ecomworker/ecomworker && | |
python${{ matrix.python-version }} -m pip install tox | |
" | |
- name: Run Tests | |
env: | |
TARGETS: ${{ matrix.test-target }} | |
run: | | |
docker exec ecomworker bash -c " | |
cd /edx/app/ecomworker/ecomworker && | |
PYTHON_VERSION=${{ matrix.python-version }} PYTHON_ENV=$PYTHON_VERSION make $TARGETS" | |
- name: Run Coverage | |
if: matrix.test-target == 'test' && matrix.python-version == '3.8' | |
run: | | |
pip install -U codecov | |
codecov |