refactor: update to use Learning Core's new public API #16
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: unit-tests-gh-hosted | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
- open-release/lilac.master | |
jobs: | |
run-test: | |
name: ${{ matrix.shard_name }}(py=${{ matrix.python-version }},dj=${{ matrix.django-version }},mongo=${{ matrix.mongo-version }}) | |
if: (github.repository != 'openedx/edx-platform' && github.repository != 'edx/edx-platform-private') || (github.repository == 'openedx/edx-platform' && (startsWith(github.base_ref, 'open-release') == true)) | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: | |
- "3.11" | |
django-version: | |
- "pinned" | |
# When updating the shards, remember to make the same changes in | |
# .github/workflows/unit-tests.yml | |
shard_name: | |
- "lms-1" | |
- "lms-2" | |
- "lms-3" | |
- "lms-4" | |
- "lms-5" | |
- "lms-6" | |
- "openedx-1-with-lms" | |
- "openedx-2-with-lms" | |
- "openedx-1-with-cms" | |
- "openedx-2-with-cms" | |
- "cms-1" | |
- "cms-2" | |
- "common-with-lms" | |
- "common-with-cms" | |
- "xmodule-with-lms" | |
- "xmodule-with-cms" | |
mongo-version: | |
- "7.0" | |
# We only need to test older versions of Mongo with modules that directly interface with Mongo (that is: xmodule.modulestore) | |
# This code is left here as an example for future refernce in case we need to reduce the number of shards we're | |
# testing but still have good confidence with older versions of mongo. We use Mongo 4.4 in the example. | |
# | |
# exclude: | |
# - mongo-version: "4.4" | |
# include: | |
# - shard_name: "xmodule-with-cms" | |
# python-version: "3.11" | |
# django-version: "pinned" | |
# mongo-version: "4.4" | |
# - shard_name: "xmodule-with-lms" | |
# python-version: "3.11" | |
# django-version: "pinned" | |
# mongo-version: "4.4" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Required System Packages | |
run: sudo apt-get update && sudo apt-get install libxmlsec1-dev lynx | |
- name: Start MongoDB | |
uses: supercharge/[email protected] | |
with: | |
mongodb-version: ${{ matrix.mongo-version}} | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Get pip cache dir | |
id: pip-cache-dir | |
run: | | |
echo "::set-output name=dir::$(pip cache dir)" | |
- name: Cache pip dependencies | |
id: cache-dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.pip-cache-dir.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/testing.txt') }} | |
restore-keys: ${{ runner.os }}-pip- | |
- name: Install Required Python Dependencies | |
env: | |
PIP_SRC: ${{ runner.temp }} | |
run: | | |
make test-requirements | |
if [[ "${{ matrix.django-version }}" != "pinned" ]]; then | |
pip install "django~=${{ matrix.django-version }}.0" | |
pip check # fail if this test-reqs/Django combination is broken | |
fi | |
- name: Setup and run tests | |
uses: ./.github/actions/unit-tests | |
collect-and-verify: | |
if: (github.repository != 'openedx/edx-platform' && github.repository != 'edx/edx-platform-private') || (github.repository == 'openedx/edx-platform' && (startsWith(github.base_ref, 'open-release') == true)) | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: [ '3.11' ] | |
django-version: | |
- "pinned" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install Required System Packages | |
run: sudo apt-get update && sudo apt-get install libxmlsec1-dev | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Get pip cache dir | |
id: pip-cache-dir | |
run: | | |
echo "::set-output name=dir::$(pip cache dir)" | |
- name: Cache pip dependencies | |
id: cache-dependencies | |
uses: actions/cache@v3 | |
with: | |
path: ${{ steps.pip-cache-dir.outputs.dir }} | |
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/testing.txt') }} | |
restore-keys: ${{ runner.os }}-pip- | |
- name: Install Required Python Dependencies | |
run: | | |
make test-requirements | |
if [[ "${{ matrix.django-version }}" != "pinned" ]]; then | |
pip install "django~=${{ matrix.django-version }}.0" | |
pip check # fail if this test-reqs/Django combination is broken | |
fi | |
- name: verify unit tests count | |
uses: ./.github/actions/verify-tests-count |