All CI used to go through scripts/generic-ci-tests.sh, which is a wrapper around various `paver` test/linting/check invocations. These days, most edx-platform CI checks just invoke their tools (pylint, pycodestyle, pytest, etc.) directly. In anticipation of the proposed Paver deprecation [1], let's remove the parts of this script that aren't used any more, including several `paver` command invocations. This should have no impact on CI. Furthermore, we are able to remove the SHARD environment variable, which was formely used to split unit and quality checks up into smaller pieces. Unit tests and pylint checks now have their own separate sharding logic, so there is only one "quality" shard remaining (SHARD=4, ie generic quality checks), thus we don't need a SHARD variable at all. [1] https://github.com/openedx/edx-platform/issues/34467
82 lines
1.9 KiB
YAML
82 lines
1.9 KiB
YAML
name: Quality checks
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
- open-release/lilac.master
|
|
|
|
jobs:
|
|
run_tests:
|
|
name: Quality Others
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ ubuntu-20.04 ]
|
|
python-version: [ 3.8 ]
|
|
node-version: [ 16 ]
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 2
|
|
|
|
- name: Fetch base branch for comparison
|
|
run: git fetch --depth=1 origin ${{ github.base_ref }}
|
|
|
|
- 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: Setup Node
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
|
|
- name: Setup npm
|
|
run: npm i -g npm@8.5.x
|
|
|
|
- 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
|
|
|
|
- name: Run Quality Tests
|
|
env:
|
|
TEST_SUITE: quality
|
|
SCRIPT_TO_RUN: ./scripts/generic-ci-tests.sh
|
|
PIP_SRC: ${{ runner.temp }}
|
|
TARGET_BRANCH: ${{ github.base_ref }}
|
|
run: |
|
|
./scripts/all-tests.sh
|
|
|
|
- name: Save Job Artifacts
|
|
if: always()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: Build-Artifacts
|
|
path: |
|
|
**/reports/**/*
|
|
test_root/log/**/*.log
|
|
*.log
|