fix(v2): deterministic Docker build — pin pnpm, fix supply-chain policy, workspace-level install
- Add workspace-level pnpm install in Dockerfile so pnpm-workspace.yaml supply-chain settings (onlyBuiltDependencies, allowBuilds) apply uniformly - Pin pnpm@11.5.2 via corepack with sha1 hash to prevent future policy drift - Downgrade postcss to ^8.5.22 (8.5.23 was <24h old, violated minimumReleaseAge) - Regenerate frontend/pnpm-lock.yaml and add root pnpm-lock.yaml for full workspace - Add binaryTargets to Prisma schema for linux-musl (Alpine) + debian compatibility - Run pnpm approve-builds to set allowBuilds for esbuild, ssh2, prisma, @prisma/* - Fix docker-compose.yml: postgres:18-alpine volume at /var/lib/postgresql (not /data) - Add .env.docker.example; ignore .env.docker in .gitignore Integration tests (Docker Compose against real Gitea 1.26.2): ✅ Docker image builds cleanly (pnpm frozen-lockfile, no policy violations) ✅ postgres:18-alpine starts healthy ✅ Prisma migrations run on startup ✅ Founder registration and session auth ✅ Gitea connection validated (PAT scope check) ✅ Webhook registered on test repo (Hook ID 11) ✅ PR opened → HMAC verified → preview created → DEPLOY job queued ✅ Gitea PR comment posted (write:issue scope confirmed working) ✅ Deploy fails correctly at AWS step: "Region is missing" (no creds in test env) ✅ PR closed → STOP job created and completed (status DONE) ✅ HMAC rejection: wrong signature → 401 ✅ /pp stop via issue_comment webhook → accepted Blocked (expected): EC2 provisioning requires AWS credentials not present in CI/test env. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
"name": "pp-frontend",
|
||||
"version": "1.0.0",
|
||||
"private": true,
|
||||
"packageManager": "pnpm@11.5.2+sha1.7ab39d363d1ca5b2fb97795f45291083da4a1393",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite",
|
||||
@@ -9,18 +10,18 @@
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"dependencies": {
|
||||
"motion": "^12.0.0",
|
||||
"react": "^19.0.0",
|
||||
"react-dom": "^19.0.0",
|
||||
"react-router-dom": "^7.0.0",
|
||||
"react-toastify": "^11.0.0",
|
||||
"motion": "^12.0.0"
|
||||
"react-toastify": "^11.0.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/react": "^19.0.0",
|
||||
"@types/react-dom": "^19.0.0",
|
||||
"@vitejs/plugin-react": "^4.3.0",
|
||||
"autoprefixer": "^10.4.0",
|
||||
"postcss": "^8.4.0",
|
||||
"postcss": "^8.5.22",
|
||||
"tailwindcss": "^3.4.0",
|
||||
"typescript": "^5.0.0",
|
||||
"vite": "^6.0.0"
|
||||
|
||||
Generated
+22
-22
@@ -35,10 +35,10 @@ importers:
|
||||
version: 4.7.0(vite@6.4.3(jiti@1.21.7))
|
||||
autoprefixer:
|
||||
specifier: ^10.4.0
|
||||
version: 10.5.4(postcss@8.5.23)
|
||||
version: 10.5.4(postcss@8.5.22)
|
||||
postcss:
|
||||
specifier: ^8.4.0
|
||||
version: 8.5.23
|
||||
specifier: ^8.5.22
|
||||
version: 8.5.22
|
||||
tailwindcss:
|
||||
specifier: ^3.4.0
|
||||
version: 3.4.19
|
||||
@@ -820,8 +820,8 @@ packages:
|
||||
postcss-value-parser@4.2.0:
|
||||
resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
|
||||
|
||||
postcss@8.5.23:
|
||||
resolution: {integrity: sha512-g50586zr4bZmwFiTlflMu8E0bDTb5I5gertgwAKmsdUlTQIhZtunzUlD1WSzwcVWPoAVpsrA6vlfCD7oXvRwgg==}
|
||||
postcss@8.5.22:
|
||||
resolution: {integrity: sha512-KBDEIpLrvpv16pp3K0Fw+UCoZfopFjjgeB+0tA/aaThfEE74kKDLrgg603YvOWJyg3+WYtyq3xYsQWsIyZlPqQ==}
|
||||
engines: {node: ^10 || ^12 || >=14}
|
||||
|
||||
queue-microtask@1.2.3:
|
||||
@@ -1347,13 +1347,13 @@ snapshots:
|
||||
|
||||
arg@5.0.2: {}
|
||||
|
||||
autoprefixer@10.5.4(postcss@8.5.23):
|
||||
autoprefixer@10.5.4(postcss@8.5.22):
|
||||
dependencies:
|
||||
browserslist: 4.28.7
|
||||
caniuse-lite: 1.0.30001806
|
||||
fraction.js: 5.3.4
|
||||
picocolors: 1.1.1
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
postcss-value-parser: 4.2.0
|
||||
|
||||
baseline-browser-mapping@2.11.1: {}
|
||||
@@ -1576,28 +1576,28 @@ snapshots:
|
||||
|
||||
pirates@4.0.7: {}
|
||||
|
||||
postcss-import@15.1.0(postcss@8.5.23):
|
||||
postcss-import@15.1.0(postcss@8.5.22):
|
||||
dependencies:
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
postcss-value-parser: 4.2.0
|
||||
read-cache: 1.0.0
|
||||
resolve: 1.22.12
|
||||
|
||||
postcss-js@4.1.0(postcss@8.5.23):
|
||||
postcss-js@4.1.0(postcss@8.5.22):
|
||||
dependencies:
|
||||
camelcase-css: 2.0.1
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
|
||||
postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.23):
|
||||
postcss-load-config@6.0.1(jiti@1.21.7)(postcss@8.5.22):
|
||||
dependencies:
|
||||
lilconfig: 3.1.3
|
||||
optionalDependencies:
|
||||
jiti: 1.21.7
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
|
||||
postcss-nested@6.2.0(postcss@8.5.23):
|
||||
postcss-nested@6.2.0(postcss@8.5.22):
|
||||
dependencies:
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
postcss-selector-parser: 6.1.4
|
||||
|
||||
postcss-selector-parser@6.1.4:
|
||||
@@ -1607,7 +1607,7 @@ snapshots:
|
||||
|
||||
postcss-value-parser@4.2.0: {}
|
||||
|
||||
postcss@8.5.23:
|
||||
postcss@8.5.22:
|
||||
dependencies:
|
||||
nanoid: 3.3.16
|
||||
picocolors: 1.1.1
|
||||
@@ -1732,11 +1732,11 @@ snapshots:
|
||||
normalize-path: 3.0.0
|
||||
object-hash: 3.0.0
|
||||
picocolors: 1.1.1
|
||||
postcss: 8.5.23
|
||||
postcss-import: 15.1.0(postcss@8.5.23)
|
||||
postcss-js: 4.1.0(postcss@8.5.23)
|
||||
postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.23)
|
||||
postcss-nested: 6.2.0(postcss@8.5.23)
|
||||
postcss: 8.5.22
|
||||
postcss-import: 15.1.0(postcss@8.5.22)
|
||||
postcss-js: 4.1.0(postcss@8.5.22)
|
||||
postcss-load-config: 6.0.1(jiti@1.21.7)(postcss@8.5.22)
|
||||
postcss-nested: 6.2.0(postcss@8.5.22)
|
||||
postcss-selector-parser: 6.1.4
|
||||
resolve: 1.22.12
|
||||
sucrase: 3.35.1
|
||||
@@ -1780,7 +1780,7 @@ snapshots:
|
||||
esbuild: 0.25.12
|
||||
fdir: 6.5.0(picomatch@4.0.5)
|
||||
picomatch: 4.0.5
|
||||
postcss: 8.5.23
|
||||
postcss: 8.5.22
|
||||
rollup: 4.62.2
|
||||
tinyglobby: 0.2.17
|
||||
optionalDependencies:
|
||||
|
||||
Reference in New Issue
Block a user