Skip to content

fix: [AXM-791] fix error 404 handling and optimize for not modified b… #655

fix: [AXM-791] fix error 404 handling and optimize for not modified b…

fix: [AXM-791] fix error 404 handling and optimize for not modified b… #655

name: static assets check for lms and cms
on:
pull_request:
push:
branches:
- master
jobs:
static_assets_check:
name: static-assets-check
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04]
python-version:
- "3.11"
node-version: [18]
npm-version: [10.5.x]
mongo-version:
- "7.0"
services:
mongo:
image: mongo:${{ matrix.mongo-version }}
ports:
- 27017:27017
# Note: Calling mongo here only works with mongo 4, in newer versions of mongo
# we'll have to use `mongosh`, hence the 'which mongosh mongo'.
options: >-
--health-cmd "$(which mongosh mongo) --quiet --eval 'db.runCommand(\"ping\")'"
--health-interval 10s
--health-timeout 5s
--health-retries 3
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Setup Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install system Packages
run: |
sudo apt-get update
sudo apt-get install libxmlsec1-dev pkg-config
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Setup npm
run: npm i -g npm@${{ matrix.npm-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@v4
with:
path: ${{ steps.pip-cache-dir.outputs.dir }}
key: ${{ runner.os }}-pip-${{ hashFiles('requirements/edx/development.txt') }}
restore-keys: ${{ runner.os }}-pip-
- name: Install Limited Python Deps for Build
run: |
pip install -r requirements/edx/assets.txt
- name: Initiate Mongo DB Service
run: sudo systemctl start mongod
- name: Add node_modules bin to $Path
run: echo $GITHUB_WORKSPACE/node_modules/.bin >> $GITHUB_PATH
- name: Check Dev Assets Build
env:
COMPREHENSIVE_THEMES_DIR: ./themes
run: |
npm clean-install --dev
npm run build-dev
- name: Check Prod Assets Build
env:
COMPREHENSIVE_THEMES_DIR: ./themes
run: |
npm clean-install
npm run build
- name: Install Full Python Deps for Collection
run: |
pip install -r requirements/edx/base.txt -e .
- name: Check Assets Collection
env:
LMS_CFG: lms/envs/minimal.yml
CMS_CFG: lms/envs/minimal.yml
DJANGO_SETTINGS_MODULE: lms.envs.production
run: |
./manage.py lms collectstatic --noinput
./manage.py cms collectstatic --noinput