Feature/addopenforotherpostions #4206
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: Verify | |
# https://github.com/reviewdog/action-eslint/issues/29#issuecomment-985939887 | |
on: | |
pull_request: | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
# Prevent multiple workflows with same branch/pull_request. | |
concurrency: | |
group: ${{ github.ref_name }} | |
cancel-in-progress: true | |
jobs: | |
job_verify_backend: | |
name: Verify backend | |
if: ${{ !github.event.pull_request.draft }} | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./backend | |
env: | |
POETRY_VIRTUALENVS_IN_PROJECT: 1 | |
ENV: development | |
SECRET_KEY: NOT SET | |
DJANGO_SETTINGS_MODULE: root.settings | |
DJANGO_SUPERUSER_USERNAME: admin | |
DJANGO_SUPERUSER_PASSWORD: Django123 | |
DJANGO_SUPERUSER_EMAIL: [email protected] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.11.2' # From file: '.python-version' | |
- name: Install dependencies | |
run: | | |
source aliases.sh | |
pip-upgrade | |
pip-install-poetry | |
poetry-sync-pipeline | |
- name: Run ruff | |
run: | | |
source aliases.sh | |
poetry-run-ruff-check | |
- name: Check ruff format | |
run: | | |
source aliases.sh | |
poetry-run-ruff-format-check | |
- name: Verify migrations | |
run: | | |
source aliases.sh | |
poetry-run-migrations-verify | |
poetry-run-migrations-apply | |
- name: Run tests | |
run: | | |
source aliases.sh | |
poetry-run-pytest-run | |
- name: Run mypy | |
run: | | |
source aliases.sh | |
poetry-run-mypy-run | |
- name: Run seeds | |
run: | | |
source aliases.sh | |
poetry-run-seed | |
job_verify_docker: | |
name: Verify docker | |
if: ${{ !github.event.pull_request.draft }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Setup environment | |
run: | | |
touch backend/.docker.env | |
echo ENV=development >> backend/.docker.env | |
echo SECRET_KEY=NOT_SET >> backend/.docker.env | |
echo DJANGO_SETTINGS_MODULE=root.settings >> backend/.docker.env | |
echo DOMAIN=* >> backend/.docker.env | |
touch frontend/.env.docker | |
echo VITE_GOATCOUNTER_CODE=samfundet-dev >> frontend/.env.docker | |
echo VITE_BACKEND_DOMAIN=http://backend:8000 >> frontend/.env.docker | |
echo VITE_CYPRESS_BACKEND_DOMAIN=http://backend:8000 >> frontend/.env.docker | |
echo VITE_CYPRESS_BASE_URL=http://frontend:3000 >> frontend/.env.docker | |
- name: Build images | |
run: docker compose build backend frontend storybook | |
- name: Start containers | |
run: docker compose up backend frontend storybook -d; sleep 20 # Give additional seconds to boot. | |
- name: Check running containers | |
# Will fail if container isn't running. | |
run: | | |
docker compose exec backend echo | |
docker compose exec frontend echo | |
docker compose exec storybook echo | |
# - name: Seed backend for Cypress tests | |
# run: docker compose exec backend poetry run python manage.py seed_cypress | |
# - name: Run cypress | |
# run: docker compose up cypress | |
- name: Stop containers | |
run: docker compose down | |
job_verify_frontend_lint: | |
name: Verify frontend | |
if: ${{ !github.event.pull_request.draft }} | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: ./frontend | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install modules | |
run: yarn install | |
- name: Run Biome | |
run: yarn run biome:ci | |
- name: Run stylelint | |
run: yarn run stylelint:check | |
- name: Run typescript compiler check | |
run: yarn run tsc:check |