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-24.04] python-version: - "3.11" node-version: [20] steps: - uses: actions/checkout@v4 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@v5 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 "dir=$(pip cache dir)" >> $GITHUB_OUTPUT - name: Cache pip dependencies id: cache-dependencies uses: actions/cache@v4 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: Install npm env: PIP_SRC: ${{ runner.temp }} run: npm ci - name: Install python packages env: PIP_SRC: ${{ runner.temp }} run: | pip install -e . - name: Run Quality Tests env: PIP_SRC: ${{ runner.temp }} TARGET_BRANCH: ${{ github.base_ref }} run: | make pycodestyle npm run lint make xsslint make pii_check make check_keywords - name: Save Job Artifacts if: always() uses: actions/upload-artifact@v4 with: name: Build-Artifacts path: | **/reports/**/* test_root/log/**/*.log *.log overwrite: true