-
Notifications
You must be signed in to change notification settings - Fork 49
Refactor/monorepo with spec-driven development #321
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
ee25e48
31500fe
847ed8c
97c68a2
2746c4b
96ec464
8480851
67b0387
7cbfa28
4c08c9f
34da9c5
d51de46
41a181c
5f51690
8dafec7
6f971ab
9d99638
dcd7ff5
8840fb6
28ec631
75916f9
3fcfcd3
0b07003
0867c0b
9a780f9
71dd36a
4d03ef2
9d6bb1b
0cc1b21
094e8b3
051eb9d
f6b8c89
23a06a6
269afac
60559df
dfb2c2b
340175a
5be606c
27eac26
f5a905a
13b9060
f8c409f
3d9a4af
1ae6e98
b5863e3
9cf6ae0
acd6c5c
83821ac
a10f809
c6204a7
25db81a
d9db0e0
bdf81fc
07138c7
0f86745
564d12b
59aeed6
964478b
3f87a72
baba093
3c4c4ed
8ec7792
38c7ea4
ab2f0a0
7570d00
024c0d6
964c2d4
0a62cde
a611f78
402be86
01c40bd
bc21c9f
f7ff92b
57a0a7c
b469d68
4949c08
451531e
0c4bded
3d4a368
7404f32
d10f640
20c5085
07f0e72
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,89 @@ | ||||||||||||||||||||||||||||||||
| name: Backend CI | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||
| branches: [master, main, develop] | ||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||
| - 'backend/**' | ||||||||||||||||||||||||||||||||
| - '.github/workflows/backend-ci.yml' | ||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||
| branches: [master, main, develop] | ||||||||||||||||||||||||||||||||
| paths: | ||||||||||||||||||||||||||||||||
| - 'backend/**' | ||||||||||||||||||||||||||||||||
| - '.github/workflows/backend-ci.yml' | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| defaults: | ||||||||||||||||||||||||||||||||
| run: | ||||||||||||||||||||||||||||||||
| working-directory: backend | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||
| test: | ||||||||||||||||||||||||||||||||
| name: Test & Build | ||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||||
| node-version: [24.x] | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||
| - name: Checkout code | ||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Setup Node.js ${{ matrix.node-version }} | ||||||||||||||||||||||||||||||||
| uses: actions/setup-node@v4 | ||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||
| node-version: ${{ matrix.node-version }} | ||||||||||||||||||||||||||||||||
| cache: 'npm' | ||||||||||||||||||||||||||||||||
| cache-dependency-path: backend/package-lock.json | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Install dependencies | ||||||||||||||||||||||||||||||||
| run: npm ci | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Run linting | ||||||||||||||||||||||||||||||||
| run: npm run lint | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Run type checking | ||||||||||||||||||||||||||||||||
| run: npm run typecheck | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Run tests | ||||||||||||||||||||||||||||||||
| run: npm test -- --coverage | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Upload coverage to Codecov | ||||||||||||||||||||||||||||||||
| uses: codecov/codecov-action@v4 | ||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||
| files: ./backend/coverage/lcov.info | ||||||||||||||||||||||||||||||||
| flags: backend | ||||||||||||||||||||||||||||||||
| name: backend-coverage | ||||||||||||||||||||||||||||||||
| continue-on-error: true | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Build | ||||||||||||||||||||||||||||||||
| run: npm run build | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Test production build | ||||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||||
| npm start & | ||||||||||||||||||||||||||||||||
| SERVER_PID=$! | ||||||||||||||||||||||||||||||||
| sleep 5 | ||||||||||||||||||||||||||||||||
| curl -f http://localhost:3001/health || exit 1 | ||||||||||||||||||||||||||||||||
| kill $SERVER_PID | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| docker: | ||||||||||||||||||||||||||||||||
|
Comment on lines
+21
to
+70
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 3 days ago To fix the problem, we should explicitly restrict The best fix is to add a top-level permissions:
contents: readWe add this block near the top of
Suggested changeset
1
.github/workflows/backend-ci.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Refresh and try again.
|
||||||||||||||||||||||||||||||||
| name: Docker Build | ||||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||||
| needs: test | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||
| - name: Checkout code | ||||||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Set up Docker Buildx | ||||||||||||||||||||||||||||||||
| uses: docker/setup-buildx-action@v3 | ||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
| - name: Build Docker image | ||||||||||||||||||||||||||||||||
| uses: docker/build-push-action@v5 | ||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||
| context: ./backend | ||||||||||||||||||||||||||||||||
| push: false | ||||||||||||||||||||||||||||||||
| tags: gitlingo-backend:${{ github.sha }} | ||||||||||||||||||||||||||||||||
| cache-from: type=gha | ||||||||||||||||||||||||||||||||
| cache-to: type=gha,mode=max | ||||||||||||||||||||||||||||||||
|
Comment on lines
+71
to
+89
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 3 days ago To fix the problem, add an explicit The most straightforward fix without changing functionality is to add a workflow-level permissions:
contents: readThis will apply to both Concretely:
Suggested changeset
1
.github/workflows/backend-ci.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Refresh and try again.
|
||||||||||||||||||||||||||||||||
This file was deleted.
| Original file line number | Diff line number | Diff line change | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,66 @@ | |||||||||||||||||||||||||||||
| name: Frontend CI | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| on: | |||||||||||||||||||||||||||||
| push: | |||||||||||||||||||||||||||||
| branches: [master, main, develop] | |||||||||||||||||||||||||||||
| paths: | |||||||||||||||||||||||||||||
| - 'frontend/**' | |||||||||||||||||||||||||||||
| - '.github/workflows/frontend-ci.yml' | |||||||||||||||||||||||||||||
| pull_request: | |||||||||||||||||||||||||||||
| branches: [master, main, develop] | |||||||||||||||||||||||||||||
| paths: | |||||||||||||||||||||||||||||
| - 'frontend/**' | |||||||||||||||||||||||||||||
| - '.github/workflows/frontend-ci.yml' | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| defaults: | |||||||||||||||||||||||||||||
| run: | |||||||||||||||||||||||||||||
| working-directory: frontend | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| jobs: | |||||||||||||||||||||||||||||
| test: | |||||||||||||||||||||||||||||
| name: Test & Build | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| strategy: | |||||||||||||||||||||||||||||
| matrix: | |||||||||||||||||||||||||||||
| node-version: [22.x] | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - name: Checkout code | |||||||||||||||||||||||||||||
| uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Setup Node.js ${{ matrix.node-version }} | |||||||||||||||||||||||||||||
| uses: actions/setup-node@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| node-version: ${{ matrix.node-version }} | |||||||||||||||||||||||||||||
| cache: 'npm' | |||||||||||||||||||||||||||||
| cache-dependency-path: frontend/package-lock.json | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Install dependencies | |||||||||||||||||||||||||||||
| run: npm ci | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Run linting | |||||||||||||||||||||||||||||
| run: npm run lint | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Run type checking | |||||||||||||||||||||||||||||
| run: npm run typecheck | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Run tests | |||||||||||||||||||||||||||||
| run: npm run test:coverage | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Upload coverage to Codecov | |||||||||||||||||||||||||||||
| uses: codecov/codecov-action@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| files: ./frontend/coverage/lcov.info | |||||||||||||||||||||||||||||
| flags: frontend | |||||||||||||||||||||||||||||
| name: frontend-coverage | |||||||||||||||||||||||||||||
| continue-on-error: true | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Build | |||||||||||||||||||||||||||||
| run: npm run build | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| - name: Verify build artifacts | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| test -f dist/index.html || exit 1 | |||||||||||||||||||||||||||||
| test -d dist/assets || exit 1 | |||||||||||||||||||||||||||||
| echo "Build artifacts verified successfully" | |||||||||||||||||||||||||||||
|
Comment on lines
+21
to
+66
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 3 days ago To fix the problem, explicitly declare a restrictive Concretely, in
Suggested changeset
1
.github/workflows/frontend-ci.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Refresh and try again.
|
|||||||||||||||||||||||||||||
This file was deleted.
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -1 +1 @@ | ||||||
| 18.18.0 | ||||||
| 24.3.0 | ||||||
|
||||||
| 24.3.0 | |
| 20 |
Uh oh!
There was an error while loading. Please reload this page.