Release version 2.107.13 #3800
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: Lint and test | |
on: [push] | |
env: | |
COMPOSE_FILE: .github/docker-compose.yml | |
jobs: | |
backend: | |
name: Backend | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build Docker images | |
uses: docker/bake-action@v4 | |
with: | |
workdir: .github | |
targets: backend | |
set: | | |
*.cache-to=type=gha,mode=max | |
*.cache-from=type=gha | |
load: true | |
- name: Run backend | |
run: docker compose up --wait backend | |
- name: Type check | |
run: docker compose exec backend npm run type-check | |
- name: Lint | |
run: docker compose exec backend npm run lint | |
- name: Run unit and integration tests | |
if: always() | |
run: docker compose exec backend npm test | |
- name: Run e2e tests | |
if: always() | |
run: docker compose exec backend npm run e2e-test | |
- name: Shutdown backend | |
if: always() | |
run: docker compose down | |
- name: Print logs | |
if: always() | |
run: docker compose logs | |
frontend: | |
name: Frontend | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build Docker images | |
uses: docker/bake-action@v4 | |
with: | |
workdir: .github | |
targets: frontend | |
set: | | |
*.cache-to=type=gha,mode=max | |
*.cache-from=type=gha | |
load: true | |
- name: Install dependencies | |
run: | | |
docker compose run frontend npm install | |
docker compose run frontend sh -c 'cd /shared && npm install' | |
- name: Lint frontend | |
run: docker compose run frontend npm run lint | |
- name: Run unit tests | |
run: docker compose run frontend npm run test:unit | |
- name: Print logs | |
if: always() | |
run: docker compose logs |