From b72ceb3029d5d790c370e86be27987e91d590c5a Mon Sep 17 00:00:00 2001 From: Tudor Amariei Date: Thu, 19 Jun 2025 19:07:23 +0300 Subject: [PATCH 1/3] Add frontend CI workflow and rename backend workflow file - Introduce `check_frontend.yml` for frontend build and validation - Rename `backend_check.yml` to `check_backend.yml` for consistency --- .../{backend_check.yml => check_backend.yml} | 4 +- .github/workflows/check_frontend.yml | 72 +++++++++++++++++++ 2 files changed, 74 insertions(+), 2 deletions(-) rename .github/workflows/{backend_check.yml => check_backend.yml} (97%) create mode 100644 .github/workflows/check_frontend.yml diff --git a/.github/workflows/backend_check.yml b/.github/workflows/check_backend.yml similarity index 97% rename from .github/workflows/backend_check.yml rename to .github/workflows/check_backend.yml index 04f16ce..c2cc44a 100644 --- a/.github/workflows/backend_check.yml +++ b/.github/workflows/check_backend.yml @@ -11,7 +11,7 @@ on: - 'backend/pyproject.toml' - 'Dockerfile*' - 'docker-compose*.yml' - - '.github/workflows/backend_check.yml' + - '.github/workflows/check_backend.yml' pull_request: branches: - 'main' @@ -21,7 +21,7 @@ on: - 'backend/pyproject.toml' - 'Dockerfile*' - 'docker-compose*.yml' - - '.github/workflows/backend_check.yml' + - '.github/workflows/check_backend.yml' jobs: diff --git a/.github/workflows/check_frontend.yml b/.github/workflows/check_frontend.yml new file mode 100644 index 0000000..2144820 --- /dev/null +++ b/.github/workflows/check_frontend.yml @@ -0,0 +1,72 @@ +name: Frontend Check + +on: + push: + branches: + - '*' + - 'main' + paths: + - 'frontend/**.js' + - 'frontend/**.jsx' + - 'frontend/**.ts' + - 'frontend/**.tsx' + - 'frontend/**.css' + - 'frontend/**.json' + - 'frontend/package*.json' + - 'Dockerfile*' + - 'docker-compose*.yml' + - '.github/workflows/check_frontend.yml' + pull_request: + branches: + - 'main' + paths: + - 'frontend/**.js' + - 'frontend/**.jsx' + - 'frontend/**.ts' + - 'frontend/**.tsx' + - 'frontend/**.css' + - 'frontend/**.json' + - 'frontend/package*.json' + - 'Dockerfile*' + - 'docker-compose*.yml' + - '.github/workflows/check_frontend.yml' + +jobs: + npm_prod: + name: Run `npm run prod` in production mode + runs-on: ubuntu-latest + steps: + - name: Check out Git repository + uses: actions/checkout@v4 + + - name: Set-up Node.js according to .nvmrc + uses: actions/setup-node@v4 + with: + node-version-file: frontend/.nvmrc + cache: 'npm' + cache-dependency-path: frontend/package-lock.json + + - name: Cache npm + uses: actions/cache@v4 + with: + path: ~/.npm + key: ${{ runner.os }}-npm-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-npm- + + - name: Install dependencies + working-directory: frontend + run: | + npm ci + +# TODO: Fix ES Lint before enabling this step +# https://eslint.org/docs/latest/use/configure/migration-guide +# - name: Lint the project +# working-directory: frontend +# run: | +# npm run lint + + - name: Build frontend + working-directory: frontend + run: | + npm run prod From 2ac892c484c60af341a3dd0227f0cfe6d6f91ab7 Mon Sep 17 00:00:00 2001 From: Tudor Amariei Date: Thu, 19 Jun 2025 22:27:45 +0300 Subject: [PATCH 2/3] trigger tests --- .github/workflows/check_frontend.yml | 44 ++++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/check_frontend.yml b/.github/workflows/check_frontend.yml index 2144820..2e43bb7 100644 --- a/.github/workflows/check_frontend.yml +++ b/.github/workflows/check_frontend.yml @@ -5,31 +5,31 @@ on: branches: - '*' - 'main' - paths: - - 'frontend/**.js' - - 'frontend/**.jsx' - - 'frontend/**.ts' - - 'frontend/**.tsx' - - 'frontend/**.css' - - 'frontend/**.json' - - 'frontend/package*.json' - - 'Dockerfile*' - - 'docker-compose*.yml' - - '.github/workflows/check_frontend.yml' +# paths: +# - 'frontend/**.js' +# - 'frontend/**.jsx' +# - 'frontend/**.ts' +# - 'frontend/**.tsx' +# - 'frontend/**.css' +# - 'frontend/**.json' +# - 'frontend/package*.json' +# - 'Dockerfile*' +# - 'docker-compose*.yml' +# - '.github/workflows/check_frontend.yml' pull_request: branches: - 'main' - paths: - - 'frontend/**.js' - - 'frontend/**.jsx' - - 'frontend/**.ts' - - 'frontend/**.tsx' - - 'frontend/**.css' - - 'frontend/**.json' - - 'frontend/package*.json' - - 'Dockerfile*' - - 'docker-compose*.yml' - - '.github/workflows/check_frontend.yml' +# paths: +# - 'frontend/**.js' +# - 'frontend/**.jsx' +# - 'frontend/**.ts' +# - 'frontend/**.tsx' +# - 'frontend/**.css' +# - 'frontend/**.json' +# - 'frontend/package*.json' +# - 'Dockerfile*' +# - 'docker-compose*.yml' +# - '.github/workflows/check_frontend.yml' jobs: npm_prod: From adead635a00bdb6c04d9199f3a51500fb53b5866 Mon Sep 17 00:00:00 2001 From: Tudor Amariei Date: Mon, 23 Jun 2025 10:58:55 +0300 Subject: [PATCH 3/3] wip --- .github/workflows/check_backend.yml | 2 +- .github/workflows/check_frontend.yml | 38 ++++++++++++---------------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/.github/workflows/check_backend.yml b/.github/workflows/check_backend.yml index c2cc44a..f942902 100644 --- a/.github/workflows/check_backend.yml +++ b/.github/workflows/check_backend.yml @@ -68,7 +68,7 @@ jobs: with: python-version-file: "./backend/pyproject.toml" - - name: Install Black & Ruff with uv + - name: Install Ruff with uv working-directory: ./backend run: | uv sync --only-group ruff diff --git a/.github/workflows/check_frontend.yml b/.github/workflows/check_frontend.yml index 2e43bb7..5865f55 100644 --- a/.github/workflows/check_frontend.yml +++ b/.github/workflows/check_frontend.yml @@ -5,31 +5,25 @@ on: branches: - '*' - 'main' -# paths: -# - 'frontend/**.js' -# - 'frontend/**.jsx' -# - 'frontend/**.ts' -# - 'frontend/**.tsx' -# - 'frontend/**.css' -# - 'frontend/**.json' -# - 'frontend/package*.json' -# - 'Dockerfile*' -# - 'docker-compose*.yml' -# - '.github/workflows/check_frontend.yml' + paths: + - 'frontend/**.jsx?' + - 'frontend/**.tsx?' + - 'frontend/**.css' + - 'frontend/**.json' + - 'Dockerfile*' + - 'docker-compose*.yml' + - '.github/workflows/check_frontend.yml' pull_request: branches: - 'main' -# paths: -# - 'frontend/**.js' -# - 'frontend/**.jsx' -# - 'frontend/**.ts' -# - 'frontend/**.tsx' -# - 'frontend/**.css' -# - 'frontend/**.json' -# - 'frontend/package*.json' -# - 'Dockerfile*' -# - 'docker-compose*.yml' -# - '.github/workflows/check_frontend.yml' + paths: + - 'frontend/**.jsx?' + - 'frontend/**.tsx?' + - 'frontend/**.css' + - 'frontend/**.json' + - 'Dockerfile*' + - 'docker-compose*.yml' + - '.github/workflows/check_frontend.yml' jobs: npm_prod: