Skip to content

Commit 4a47c82

Browse files
committed
Merge branch 'main' into issue-3351
Keep the weekly-summary CommitActivityWidget wiring and drop the workflow and modal changes that already landed on main.
2 parents 3b8d769 + c10c207 commit 4a47c82

59 files changed

Lines changed: 1279 additions & 1144 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/automated-tests.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
pull_request:
77
branches: [ main ]
88

9+
permissions:
10+
contents: read
11+
912
jobs:
1013
validate-and-test:
1114
name: Continuous Integration Security & Audit Suite
@@ -28,14 +31,7 @@ jobs:
2831
run: pnpm install --frozen-lockfile
2932

3033
- name: Run Automated Unit Testing Framework Suites
31-
id: unit-tests
32-
continue-on-error: true
3334
run: pnpm test
3435

35-
- name: Report Unit Testing Framework Suite Status
36-
if: steps.unit-tests.outcome == 'failure'
37-
run: |
38-
echo "::warning title=Unit test suite reported failures::The strict CI gates are covered by ci.yml. This compatibility suite is informational until the repository-wide Vitest failures are resolved."
39-
4036
- name: Log Security & Code Quality Audit Placeholder
4137
run: echo "Security/code-quality audits are not currently executed in this workflow."

.github/workflows/ci.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
branches: [main]
88
types: [opened, synchronize, reopened]
99

10+
# Default to read-only; jobs that need more raise it themselves.
11+
permissions:
12+
contents: read
13+
1014
# Cancel outdated runs on the same PR/branch to save CI minutes.
1115
concurrency:
1216
group: ci-${{ github.ref }}

.github/workflows/codeql.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,10 @@ on:
88
schedule:
99
- cron: '0 3 * * 1'
1010

11+
# Default to read-only; the analyze job raises what it needs.
12+
permissions:
13+
contents: read
14+
1115
jobs:
1216
analyze:
1317
name: Analyze (${{ matrix.language }})

.github/workflows/e2e.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ on:
66
types: [opened, synchronize, reopened]
77
workflow_dispatch:
88

9+
permissions:
10+
contents: read
11+
912
concurrency:
1013
group: e2e-${{ github.ref }}
1114
cancel-in-progress: true

.github/workflows/labeler.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
name: PR Labeler
22
on:
33
pull_request_target:
4+
5+
# pull_request_target runs with a privileged token, so default it to read-only
6+
# and let the label job raise only what it needs.
7+
permissions:
8+
contents: read
9+
410
jobs:
511
label:
612
permissions:

.github/workflows/stale.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@ on:
55
- cron: "0 0 * * *"
66
workflow_dispatch:
77

8+
permissions:
9+
contents: read
10+
issues: write
11+
pull-requests: write
12+
813
jobs:
914
stale:
1015
runs-on: ubuntu-latest
1116
steps:
12-
- uses: actions/stale@v10
17+
- uses: actions/stale@v11
1318
with:
1419
stale-issue-message: >
1520
This issue has been inactive for 21 days. If you are still working on it or it is still relevant, please leave a comment — otherwise it will be closed in 7 days.

.github/workflows/typecheck.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ name: Type Check (DEPRECATED - see ci.yml)
55
on:
66
pull_request:
77
branches: []
8+
permissions:
9+
contents: read
810
jobs:
911
typecheck:
1012
runs-on: ubuntu-latest

.github/workflows/visual-regression.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@ on:
1616
- ".github/workflows/visual-regression.yml"
1717
workflow_dispatch:
1818

19+
permissions:
20+
contents: read
21+
1922
concurrency:
2023
group: visual-regression-${{ github.ref }}
2124
cancel-in-progress: true

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,6 @@ screenshot.png
6464

6565
# Prevent npm lockfile conflicts
6666
package-lock.json
67+
68+
# code-analysis output
69+
.jscpd-report/

Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,4 +76,9 @@ EXPOSE 3000
7676
ENV PORT=3000
7777
ENV HOSTNAME=0.0.0.0
7878

79+
# Probe with node rather than curl/wget - neither ships in node:20-alpine, and
80+
# /api/debug/health is auth-gated, so hit the landing page instead.
81+
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
82+
CMD node -e "require('http').get({host:'127.0.0.1',port:process.env.PORT||3000,path:'/'},r=>process.exit(r.statusCode<500?0:1)).on('error',()=>process.exit(1))"
83+
7984
CMD ["node", "server.js"]

0 commit comments

Comments
 (0)