Commit Graph

15 Commits

Author SHA1 Message Date
Chris Farhood daa1324e5f Merge remote-tracking branch 'upstream/master' into dev
# Conflicts:
#	packages/shared/src/validators/company-skill.ts
#	packages/shared/src/validators/index.ts
#	server/src/__tests__/company-skills-routes.test.ts
#	server/src/routes/company-skills.ts
#	server/src/services/company-skills.ts
#	ui/src/pages/CompanySkills.tsx
2026-05-31 08:02:16 -04:00
Chris Farhood 562693197a ci(dev): apply same registry-auth and tag-pattern fixes as build-prod
Build: Production / build (push) Successful in 11m26s
Build: Dev / build (push) Successful in 12m24s
Build: Dev / update-infra (push) Successful in 2s
- username: admin (was gitea.repository_owner — the org name, which fails
  Gitea's per-scope token exchange during buildkit blob HEAD requests)
- :latest only on semver tag pushes (was every push to dev — dev pushes
  don't carry semver tags so :latest just won't be re-emitted, which is
  the right behavior for SHA-tracked dev deploys)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 09:39:00 -04:00
Chris Farhood bedeac5400 fix(dockerfile): sync deps stage with upstream + add mmx-cli
Build: Production / build (push) Successful in 3m19s
Upstream added grok-local adapter and plugin-llm-wiki/plugin-workspace-diff
packages along with a link-plugin-dev-sdk.mjs script, but the fork's
.farhoodlabs/Dockerfile deps stage didn't get the corresponding COPY
lines. Without grok-local's package.json present during
`pnpm install --frozen-lockfile`, the workspace symlinks for grok-local
weren't created, so UI tsc failed to resolve @paperclipai/adapter-utils
from grok-local/src/ui/*.

Also adding mmx-cli (MiniMax multimodal CLI) as its own npm install
line in the production stage so the upstream-managed npm install line
above stays diff-clean against upstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 09:03:05 -04:00
Chris Farhood b172b6a319 ci: log into registry as token owner (admin), not org name
Build: Production / build (push) Successful in 6m41s
Gitea's docker login is lenient and accepts the org name as a username
at handshake time, but the per-scope token exchange that buildkit
performs for blob operations needs to resolve a real user identity.
Using admin (the user that owns REGISTRY_TOKEN) prevents 401s on
blob HEAD requests during push.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 22:28:10 -04:00
Chris Farhood 39790922f1 ci: emit :latest only on semver tags, not every commit
Build: Production / build (push) Failing after 3m2s
Tagging :latest on every push to local made every CI run try to
overwrite the existing :latest manifest. The Gitea registry rejected
the overwrite, causing builds to fail. Branch builds now produce
only the immutable SHA tag; :latest is reserved for vX.Y.Z tag pushes.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 22:09:16 -04:00
Chris Farhood ebc249d0b3 docs: fix overlay location description in CLAUDE.md
Build: Production / build (push) Failing after 10m22s
The overlay lives on dev (canonical) and local, not master.
Master is now a pure mirror of upstream.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 18:43:46 -04:00
Chris Farhood 5499a0b4a6 ci: adapt workflows for Gitea migration
Build: Production / build (push) Successful in 5m39s
Change runner from runners-farhoodlabs to ubuntu-latest across all fork
workflows. Update container registry from ghcr.io to git.farh.net and
authenticate with REGISTRY_TOKEN. Migrate update-infra API calls from
GitHub to Gitea. Disable refresh-lockfile.yml (requires GitHub gh CLI).
Update CLAUDE.md references.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-05-20 11:17:45 +00:00
Chris Farhood fccbc7e39e feat(ci): install gitea tea CLI in fork Dockerfile
Adds the official Gitea 'tea' CLI (v0.14.0) alongside the existing forgejo
CLIs (fj, fj-ex, fgj). Useful when interacting with Gitea instances whose API
surface is covered by tea but not by the forgejo variants.
2026-05-14 10:04:18 -04:00
Chris Farhood 30ef61bb25 Merge pull request #11 from farhoodlabs/dev
Dev
2026-05-11 17:02:31 -07:00
Chris Farhood c2a49879d5 fix(ci): add cursor-cloud adapter package.json to fork Dockerfile deps stage
Upstream #5664 added the cursor-cloud adapter; the .farhoodlabs/Dockerfile
overlay was missing the deps-stage COPY for its package.json, so pnpm install
didn't wire it as a workspace package and the build stage failed type-checking
cursor-cloud's UI sources from ui's tsc -b.
2026-05-11 19:16:51 -04:00
Chris Farhood 5d0d076704 chore(docs): remove FAR-108 from pending PR list (k8s adapter dropped) 2026-05-11 18:02:15 -04:00
Chris Farhood 37e0aac971 ci: build prod image from .farhoodlabs/Dockerfile
Pulls the prod image up to the same toolset as the dev image (kubectl,
kubeseal, uv/uvx, forgejo CLIs, nano, vim) without diverging the upstream
root Dockerfile. Both build-dev.yml and build-prod.yml now share the same
fork-overlay Dockerfile; only the image tag and trigger branch differ.
2026-05-03 15:38:18 -04:00
Chris Farhood 18f550b946 fix(ci): make Docker Hub login non-blocking on dev build
The self-hosted runner has been hitting context-deadline timeouts to
docker.io. The actual image push goes to GHCR, so the Docker Hub login
is only there to avoid pull rate limits. Mark it continue-on-error so
transient docker.io connectivity issues don't fail the whole build —
base image pulls fall back to anonymous and proceed.
2026-05-02 17:30:04 -04:00
Chris Farhood 1678160c49 fix(ci): add acpx-local + sandbox plugins to fork Dockerfile deps stage 2026-05-01 19:31:44 -04:00
Chris Farhood c08c72e917 chore(ci): restore fork CI overlay 2026-05-01 19:27:04 -04:00