Skip to content

Bump @types/node from 22.13.9 to 22.13.10 in /frontend #571

Bump @types/node from 22.13.9 to 22.13.10 in /frontend

Bump @types/node from 22.13.9 to 22.13.10 in /frontend #571

Workflow file for this run

name: Testing
on:
push:
branches:
- main
pull_request:
env:
PYTHON_VERSION: "3.13"
SECRET_KEY: "someKey"
FIRST_SUPERUSER_EMAIL: "[email protected]"
FIRST_SUPERUSER_PASSWORD: "somePassword!"
POSTGRES_HOST: "http://db"
POSTGRES_USER: "postgres"
POSTGRES_PASSWORD: "test_password"
POSTGRES_DB: "scan"
VALKEY_HOST: "http://valkey"
VALKEY_PASSWORD: "test_password"
OPENAI_API_KEY: "someKey"
STACK_NAME: "scanue-v"
DOMAIN: "127.0.0.1"
NEXT_PUBLIC_API_URL: http://backend:8000/api/v1
jobs:
docker-backend-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Build backend container
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./backend
outputs: type=docker,dest=/tmp/scanue-v-backend.tar
push: false
tags: scanue-v-backend:dev
- name: Upload backend container
uses: actions/upload-artifact@v4
with:
name: scanue-v-backend
path: /tmp/scanue-v-backend.tar
retention-days: 1
docker-frontend-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Build frontend container
uses: docker/build-push-action@v6
with:
builder: ${{ steps.buildx.outputs.name }}
context: ./frontend
outputs: type=docker,dest=/tmp/scanue-v-frontend.tar
push: false
tags: scanue-v-frontend:dev
build-args: NEXT_PUBLIC_API_URL=http://backend:8000/api/v1
- name: Upload frontend container
uses: actions/upload-artifact@v4
with:
name: scanue-v-frontend
path: /tmp/scanue-v-frontend.tar
retention-days: 1
backend-linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Install Dependencies
run: just backend-install
- name: Ruff format check
run: just ruff-format-ci
- name: Lint with ruff
run: just ruff-check
- name: mypy check
run: just mypy
backend-testing:
strategy:
fail-fast: false
matrix:
python-version: ["3.13"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Just
uses: taiki-e/install-action@just
- name: Install uv
uses: astral-sh/setup-uv@v5
with:
enable-cache: true
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install Dependencies
run: just backend-install
- name: Start docker containers
run: just docker-up-backend-ci
- name: Test with pytest
run: just backend-test
frontend-linting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Just
uses: taiki-e/install-action@just
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: ./frontend/package-lock.json
- name: Install Dependencies
run: just frontend-install
- name: Lint
run: just frontend-lint
frontend-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: install Just
uses: taiki-e/install-action@just
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: ./frontend/package-lock.json
- name: Install Dependencies
run: just frontend-install
- name: Build
run: just frontend-build
e2e-tests:
runs-on: ubuntu-latest
needs: [docker-backend-build, docker-frontend-build]
steps:
- name: Download backend container
uses: actions/download-artifact@v4
with:
name: scanue-v-backend
path: /tmp/
- name: Load backend image
run: docker load --input /tmp/scanue-v-backend.tar
- name: Download frontend container
uses: actions/download-artifact@v4
with:
name: scanue-v-frontend
path: /tmp/
- name: Load frontend image
run: docker load --input /tmp/scanue-v-frontend.tar
- uses: actions/checkout@v4
- name: install Just
uses: taiki-e/install-action@just
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: "22"
cache: "npm"
cache-dependency-path: ./frontend/package-lock.json
- name: Install Dependencies
run: just frontend-install
- name: Cache Playwright Browsers
uses: actions/cache@v4
with:
path: ~/.cache/ms-playwright
key: ${{ runner.os }}-playwright-${{ hashFiles('**/frontend/package-lock.json') }}
restore-keys: ${{ runner.os }}-playwright-
- name: Setup playwright
run: just playwright-install
- name: Add .env file
run: |
echo SECRET_KEY=${{ env.SECRET_KEY }} > .env
echo FIRST_SUPERUSER_EMAIL=${{ env.FIRST_SUPERUSER_EMAIL }} >> .env
echo FIRST_SUPERUSER_PASSWORD=${{ env.FIRST_SUPERUSER_PASSWORD }} >> .env
echo POSTGRES_HOST=${{ env.POSTGRES_HOST }} >> .env
echo POSTGRES_USER=${{ env.POSTGRES_USER }} >> .env
echo POSTGRES_PASSWORD=${{ env.POSTGRES_PASSWORD }} >> .env
echo POSTGRES_DB=${{ env.POSTGRES_DB }} >> .env
echo VALKEY_HOST=${{ env.VALKEY_HOST }} >> .env
echo VALKEY_PASSWORD=${{ env.VALKEY_PASSWORD }} >> .env
echo OPENAI_API_KEY=${{ env.OPENAI_API_KEY }} >> .env
echo STACK_NAME=${{ env.STACK_NAME }} >> .env
echo DOMAIN=${{ env.DOMAIN }} >> .env
- name: Start docker containers
run: just docker-up-detached
- name: e2e Tests
run: just e2e-test
- name: Upload blob report to GitHub Actions Artifacts
if: ${{ !cancelled() }}
uses: actions/upload-artifact@v4
with:
name: blob-report
path: frontend/blob-report
include-hidden-files: true
retention-days: 1