From 5c49b7eb53350f0f8d52fe4898a7d1d740c9a7af Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Mon, 2 Mar 2026 18:03:19 -0500 Subject: [PATCH 1/3] fix(penpal): add Go to Hermit for CI release pipeline The penpal-release.yml workflow relies on `go` being available via Hermit's activate step, but Go was never added as a Hermit package. This caused both matrix jobs to fail at the "Build Go sidecar" step with `go: command not found` (exit code 127). Co-Authored-By: Claude Opus 4.6 --- bin/.go-1.26.0.pkg | 1 + bin/go | 1 + bin/gofmt | 1 + 3 files changed, 3 insertions(+) create mode 120000 bin/.go-1.26.0.pkg create mode 120000 bin/go create mode 120000 bin/gofmt diff --git a/bin/.go-1.26.0.pkg b/bin/.go-1.26.0.pkg new file mode 120000 index 000000000..383f4511d --- /dev/null +++ b/bin/.go-1.26.0.pkg @@ -0,0 +1 @@ +hermit \ No newline at end of file diff --git a/bin/go b/bin/go new file mode 120000 index 000000000..eabd38531 --- /dev/null +++ b/bin/go @@ -0,0 +1 @@ +.go-1.26.0.pkg \ No newline at end of file diff --git a/bin/gofmt b/bin/gofmt new file mode 120000 index 000000000..eabd38531 --- /dev/null +++ b/bin/gofmt @@ -0,0 +1 @@ +.go-1.26.0.pkg \ No newline at end of file From cd6f5061d89c977fe365b8cc31dff92b87050757 Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Mon, 2 Mar 2026 18:16:09 -0500 Subject: [PATCH 2/3] fix(penpal): use @tailwindcss/postcss for Tailwind v4 compatibility Tailwind CSS v4 moved the PostCSS plugin to a separate package. Update postcss.config.js to use @tailwindcss/postcss and remove autoprefixer (now handled internally by Tailwind v4). Co-Authored-By: Claude Opus 4.6 --- apps/penpal/frontend/package.json | 1 - apps/penpal/frontend/postcss.config.js | 3 +-- pnpm-lock.yaml | 31 ++------------------------ 3 files changed, 3 insertions(+), 32 deletions(-) diff --git a/apps/penpal/frontend/package.json b/apps/penpal/frontend/package.json index b62a63821..ad9f4f13e 100644 --- a/apps/penpal/frontend/package.json +++ b/apps/penpal/frontend/package.json @@ -39,7 +39,6 @@ "@types/react-dom": "^19.0.0", "@types/unist": "^3.0.3", "@vitejs/plugin-react": "^5.0.0", - "autoprefixer": "^10.4.0", "eslint": "^10.0.0", "jsdom": "^28.0.0", "postcss": "^8.4.0", diff --git a/apps/penpal/frontend/postcss.config.js b/apps/penpal/frontend/postcss.config.js index f69c5d411..a34a3d560 100644 --- a/apps/penpal/frontend/postcss.config.js +++ b/apps/penpal/frontend/postcss.config.js @@ -1,6 +1,5 @@ export default { plugins: { - "@tailwindcss/postcss": {}, - autoprefixer: {}, + '@tailwindcss/postcss': {}, }, }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0f4ac545..284c73c1b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,9 +144,6 @@ importers: '@vitejs/plugin-react': specifier: ^5.0.0 version: 5.1.4(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)) - autoprefixer: - specifier: ^10.4.0 - version: 10.4.27(postcss@8.5.6) eslint: specifier: ^10.0.0 version: 10.0.2(jiti@2.6.1) @@ -731,6 +728,7 @@ packages: resolution: {integrity: sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==} cpu: [ppc64] os: [linux] + libc: [glibc] '@rollup/rollup-linux-ppc64-musl@4.59.0': resolution: {integrity: sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==} @@ -754,6 +752,7 @@ packages: resolution: {integrity: sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==} cpu: [s390x] os: [linux] + libc: [glibc] '@rollup/rollup-linux-x64-gnu@4.59.0': resolution: {integrity: sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==} @@ -1323,13 +1322,6 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - autoprefixer@10.4.27: - resolution: {integrity: sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==} - engines: {node: ^10 || ^12 || >=14} - hasBin: true - peerDependencies: - postcss: ^8.1.0 - axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -1809,9 +1801,6 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - fraction.js@5.3.4: - resolution: {integrity: sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==} - fsevents@2.3.2: resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} @@ -2380,9 +2369,6 @@ packages: resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==} engines: {node: '>=4'} - postcss-value-parser@4.2.0: - resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -3828,15 +3814,6 @@ snapshots: assertion-error@2.0.1: {} - autoprefixer@10.4.27(postcss@8.5.6): - dependencies: - browserslist: 4.28.1 - caniuse-lite: 1.0.30001774 - fraction.js: 5.3.4 - picocolors: 1.1.1 - postcss: 8.5.6 - postcss-value-parser: 4.2.0 - axobject-query@4.1.0: {} bail@2.0.2: {} @@ -4350,8 +4327,6 @@ snapshots: format@0.2.2: {} - fraction.js@5.3.4: {} - fsevents@2.3.2: optional: true @@ -5172,8 +5147,6 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-value-parser@4.2.0: {} - postcss@8.5.6: dependencies: nanoid: 3.3.11 From 24bd3282cba98b2454efb4a67d142f8756c0c5ab Mon Sep 17 00:00:00 2001 From: Logan Johnson Date: Mon, 2 Mar 2026 20:08:15 -0500 Subject: [PATCH 3/3] fix(penpal): pass --target to tauri CLI, not cargo `pnpm run tauri:build -- --target ` passes --target through to cargo via the `--` separator, so Tauri doesn't know the target triple. This causes the bundler to look in target/release/ instead of target//release/, failing with "No such file or directory". Use `pnpm tauri build --target ` instead so Tauri receives the flag directly and bundles from the correct output path. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/penpal-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/penpal-release.yml b/.github/workflows/penpal-release.yml index cce64f9cf..f701ab533 100644 --- a/.github/workflows/penpal-release.yml +++ b/.github/workflows/penpal-release.yml @@ -84,7 +84,7 @@ jobs: # Build Tauri app for the target architecture - name: Build Tauri app working-directory: apps/penpal/frontend - run: pnpm run tauri:build -- --target ${{ matrix.target }} + run: pnpm tauri build --target ${{ matrix.target }} # Package into distributable zip - name: Package