Grade Publishing Reminder Email in send_reminders
#3254
Workflow file for this run
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: EvaP Test Suite | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
test: | |
name: Test + Coverage | |
runs-on: ubuntu-22.04 | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: evap | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Run tests | |
run: coverage run manage.py test | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
test_shuffled: | |
name: Test (shuffled order) | |
runs-on: ubuntu-22.04 | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: evap | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Run tests | |
run: python manage.py test --shuffle | |
mypy: | |
runs-on: ubuntu-22.04 | |
name: MyPy | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Run MyPy | |
run: mypy | |
linter: | |
runs-on: ubuntu-22.04 | |
name: Linter | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Run ruff | |
run: ruff check . | |
- name: Run pylint | |
run: pylint evap tools | |
formatter: | |
runs-on: ubuntu-22.04 | |
name: Formatting | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Setup nodejs | |
uses: ./.github/setup_nodejs | |
- name: Check code formatting | |
run: black --check . | |
- name: Check imports formatting | |
run: isort . --check --diff | |
- run: ls -laR evap/static/ts | |
- name: Check TypeScript formatting | |
run: npx prettier --list-different --loglevel debug 'evap/static/ts/**/*.ts' | |
backup-process: | |
runs-on: ubuntu-22.04 | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: evap | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
redis: | |
image: redis | |
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 | |
ports: | |
- 6379:6379 | |
name: Backup process | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup python | |
uses: ./.github/setup_python | |
with: | |
requirements-file: requirements.txt | |
- name: Setup nodejs | |
uses: ./.github/setup_nodejs | |
- name: Install additional dependencies | |
run: sudo apt-get update && sudo apt-get install gettext | |
- name: GitHub actions has wrong file ownership here, the checkout actions has a problem here (see their 1049) | |
run: | | |
git config --global --add safe.directory '*' | |
sudo -H -u root git config --global --add safe.directory '*' | |
- name: Load test data | |
run: | | |
python manage.py migrate | |
python manage.py loaddata test_data | |
- name: Backup database | |
run: deployment/update_production.sh backup.json | |
env: | |
EVAP_OVERRIDE_BACKUP_FILENAME: true | |
EVAP_SKIP_CHECKOUT: true | |
- name: Reload backup | |
run: echo "yy" | deployment/load_production_backup.sh backup.json | |
compile_scss: | |
runs-on: ubuntu-22.04 | |
name: Compile Scss | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup nodejs | |
uses: ./.github/setup_nodejs | |
- name: Compile Scss | |
run: npx sass evap/static/scss/evap.scss evap/static/css/evap.css | |
- name: Store Css | |
uses: actions/upload-artifact@v4 | |
with: | |
name: css | |
path: evap/static/css/evap.css | |
render_pages: | |
runs-on: ubuntu-22.04 | |
name: Render Html pages | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
POSTGRES_DB: evap | |
ports: | |
- 5432:5432 | |
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 | |
redis: | |
image: redis | |
options: --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 | |
ports: | |
- 6379:6379 | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Setup python | |
uses: ./.github/setup_python | |
- name: Render pages | |
run: coverage run manage.py ts render_pages | |
- name: Upload coverage | |
uses: codecov/codecov-action@v4 | |
with: | |
flags: render-pages | |
token: ${{ secrets.CODECOV_TOKEN }} | |
- name: Store rendered pages | |
uses: actions/upload-artifact@v4 | |
with: | |
name: rendered-pages | |
path: evap/static/ts/rendered | |
typescript: | |
runs-on: ubuntu-22.04 | |
needs: [ compile_scss, render_pages ] | |
name: Test Typescript | |
steps: | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Setup nodejs | |
uses: ./.github/setup_nodejs | |
- name: Compile Typescript | |
run: npx tsc --project evap/static/ts/tsconfig.compile.json | |
- name: Load rendered pages | |
uses: actions/download-artifact@v4 | |
with: | |
name: rendered-pages | |
path: evap/static/ts/rendered | |
- name: Load Css | |
uses: actions/download-artifact@v4 | |
with: | |
name: css | |
path: evap/static/css | |
- name: Run tests | |
run: xvfb-run --auto-servernum npx jest |