Commit graph

6 commits

Author SHA1 Message Date
Snider
d0c7374179 Harden Xcode Cloud shell quoting 2026-04-15 22:45:47 +01:00
Snider
8ec644b017 Align go-build module path with RFC 2026-04-15 11:50:20 +01:00
Snider
c0aebbdc84 feat(build): workflow + Xcode Cloud honour packageManager before lockfile
- release.yml + xcode_cloud.go: frontend-install step reads package.json
  packageManager field first, falls back to pnpm/yarn/bun/npm based on
  lockfile detection (matches builder behaviour)
- workflow_test + cmd_workflow_test + xcode_cloud_test: coverage

Verified: go test ./... + bash -n on generated Xcode Cloud script passes

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-15 00:19:52 +01:00
Snider
936ba3e42e feat(build): workflow + Xcode Cloud — subtree scan ignores hidden dirs, Deno output normalised
- release.yml + xcode_cloud.go: subtree scans ignore hidden dirs alongside
  node_modules (matches Go discovery logic); Deno setup uses normalised
  deno_requested output instead of brittle inline expression; frontend
  dependency install uses same visible-file scan rules across workflow +
  Xcode Cloud helper
- workflow_test / cmd_workflow_test / xcode_cloud_test: lock-in assertions

Verified: go test ./... passes

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 23:32:36 +01:00
Snider
293dfd6e66 feat(build): ENV-first Deno + discovery metadata (os/arch/github ref) + Xcode Cloud
- env.go (new): DENO_ENABLE and DENO_BUILD environment variables activate
  Deno builds even when repo only has package.json or bare frontend/ dir
- wails.go + node.go + apple.go + release.yml + xcode_cloud.go: honor the
  ENV flags across builder + workflow + Xcode Cloud script generation
- discovery.go: record host os/arch + GitHub ref metadata (ref, branch, tag,
  is_tag, sha, short_sha, repo, owner)
- api/provider.go: /discover exposes the new metadata
- Regression coverage across discovery/builders/apple/workflow/xcode_cloud/api

Verified: go test ./... passes

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 21:35:50 +01:00
Snider
a6bc490b54 feat(build): Xcode Cloud ci_scripts materialisation
- pkg/build/xcode_cloud.go (new): detects apple.xcode_cloud config,
  generates the three required ci_scripts files (ci_post_clone.sh,
  ci_pre_xcodebuild.sh, ci_post_xcodebuild.sh) with executable
  permissions
- cmd/build/cmd_apple.go: Apple command emits the scripts whenever
  apple.xcode_cloud is configured
- xcode_cloud_test + cmd_apple_test: coverage for the materialisation
  path

Co-Authored-By: Virgil <virgil@lethean.io>
2026-04-14 16:57:38 +01:00