Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 39 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
name: CI
run-name: Running continuous integration on ${{ github.actor }}'s commits

# Triggers:
# - push to ANY branch (catches feature branches, not tags)
# - pull requests targeting main
# Does NOT fire on tag-only pushes or unrelated events.
on:
push:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually what's the benefit of having CI run on all pushes?

branches:
- main
- "**"
pull_request:
branches:
- main

jobs:
backend-ci:
backend-pretest:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
Expand All @@ -20,14 +26,40 @@ jobs:
distribution: "temurin"
java-version: "25"

frontend-ci:
runs-on: ubuntu-latest
- name: Format check (Spotless)
run: ./mvnw spotless:check

- name: Style check (Checkstyle)
run: ./mvnw checkstyle:check

- name: Compile check
run: ./mvnw compile

frontend-pretest:
runs-on: ubuntu-latest
defaults:
run:
working-directory: js
steps:
- name: Checkout repository
uses: actions/checkout@v6

- name: Set up node
uses: actions/setup-node@v6
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
node-version: "24"
version: 10.24.0
Comment on lines +47 to +50
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing Node.js setup step. The original workflow explicitly installed Node.js v24 using actions/setup-node@v6, but the new workflow only sets up pnpm. The pnpm/action-setup action does not install Node.js - it only installs pnpm and requires Node.js to already be present.

While GitHub's ubuntu-latest runner includes Node.js by default, the version is not guaranteed to match the previously specified v24, which could cause compatibility issues or unexpected build failures.

Fix: Add Node.js setup before pnpm setup:

- name: Setup Node.js
  uses: actions/setup-node@v6
  with:
    node-version: "24"

- name: Setup pnpm
  uses: pnpm/action-setup@v6
  with:
    version: 10.24.0
Suggested change
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
node-version: "24"
version: 10.24.0
- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: "24"
- name: Setup pnpm
uses: pnpm/action-setup@v6
with:
version: 10.24.0

Spotted by Graphite

Fix in Graphite


Is this helpful? React 👍 or 👎 to let us know.


- name: Install dependencies
run: pnpm install

- name: Type check
run: pnpm run typecheck

- name: Format check
run: pnpm run prettier

- name: Lint
run: pnpm run lint

- name: Compile check
run: pnpm run build
Loading