From 3a60ae8fd4c8432ea970e0f325a13de3c1586df1 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 14 Feb 2026 20:41:36 +0900 Subject: ci: add GitHub Actions CI workflow with just Add CI workflow running build/lint checks for all components: - backend: Go build + golangci-lint - worker/swift: Go build + golangci-lint - frontend: Biome + TypeScript + ESLint - worker/php: Biome Add `ci` recipes to each justfile so GHA uses `just ci` uniformly. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/ci.yml | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ backend/justfile | 2 ++ frontend/justfile | 7 ++++++ worker/php/justfile | 5 ++++ worker/swift/justfile | 2 ++ 5 files changed, 80 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 frontend/justfile create mode 100644 worker/php/justfile diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..6937620 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,64 @@ +name: CI + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + backend: + name: Backend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version-file: backend/go.mod + - uses: extractions/setup-just@v2 + - run: just ci + working-directory: backend + + worker-swift: + name: Worker (Swift) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version-file: worker/swift/go.mod + - uses: extractions/setup-just@v2 + - run: just ci + working-directory: worker/swift + + frontend: + name: Frontend + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + cache-dependency-path: frontend/package-lock.json + - uses: extractions/setup-just@v2 + - run: npm ci + working-directory: frontend + - run: just ci + working-directory: frontend + + worker-php: + name: Worker (PHP) + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 22 + cache: npm + cache-dependency-path: worker/php/package-lock.json + - uses: extractions/setup-just@v2 + - run: npm ci + working-directory: worker/php + - run: just ci + working-directory: worker/php diff --git a/backend/justfile b/backend/justfile index 4207b92..a74047f 100644 --- a/backend/justfile +++ b/backend/justfile @@ -2,5 +2,7 @@ check: go build -o /dev/null ./... go tool golangci-lint run +ci: check + gen: go generate ./... diff --git a/frontend/justfile b/frontend/justfile new file mode 100644 index 0000000..beba8b3 --- /dev/null +++ b/frontend/justfile @@ -0,0 +1,7 @@ +check: + npm run check + +ci: + npx biome ci . + npx tsc --noEmit + npx eslint . diff --git a/worker/php/justfile b/worker/php/justfile new file mode 100644 index 0000000..115165d --- /dev/null +++ b/worker/php/justfile @@ -0,0 +1,5 @@ +check: + npm run check + +ci: + npx biome ci . diff --git a/worker/swift/justfile b/worker/swift/justfile index 33cf92c..b203597 100644 --- a/worker/swift/justfile +++ b/worker/swift/justfile @@ -1,3 +1,5 @@ check: go build -o /dev/null ./... go tool golangci-lint run + +ci: check -- cgit v1.3.1