- release.yml: both steps use dAppCore/build@v3 (was @v4 — no such published tag)
- workflow_test.go: regression assertion for @v3 pinning
Verified: go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- wails.go + taskfile.go: Wails v3 builds delegating to Taskfile now inherit
CGO_ENABLED=1, GOFLAGS, BUILD_FLAGS, EXTRA_TAGS, WEBVIEW2_MODE, and the
garble shim for obfuscated builds — previously dropped by the Taskfile path
- wails_test.go: Taskfile flag propagation + obfuscation coverage
Verified: go test ./pkg/build/builders + go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- apple.go: uploads stage api_key_path to AuthKey_<APIKeyID>.p8 filename that
xcrun altool expects, instead of assuming the user named the file that way;
staged directory cleaned up after upload
- apple_test.go: arbitrary .p8 filenames get restaged; canonical paths used in place
Verified: go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- wails.go: pass BUILD_FLAGS + EXTRA_TAGS to wails3 wrapper so RFC-required
tags, ldflags, and version injection survive task-driven builds
- wails.go: obfuscated fallback builds — temp go shim routes go build through
garble while delegating non-build commands to real go
- wails.go: WebView2 download mode explicit for Windows/NSIS fallback
- wails.go: unsupported v3 fallback modes (embed/browser/error) fail fast
with clear error instead of being silently ignored
Verified: go test ./pkg/build/builders -run Wails + go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- apple/apple.go: Option contract now matches RFC shape func(*AppleOptions)
while preserving explicit builder overrides (WithSign(true), WithArch("universal"))
- discovery.go: MkDocs markers take precedence over generic Node markers —
projects with mkdocs.yml + package.json resolve to docs, not node
Verified: go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- discovery.go: apps/*/deno.json[c] repos detected consistently as node
- Go/Wails repos with nested Deno frontends report wails+go+node together
instead of dropping the frontend stack
Verified: go test ./... passes
Co-Authored-By: Virgil <virgil@lethean.io>
- apple.go: TestFlight + AppStore now reject Developer ID certs, require real
distribution identity
- apple.go: universal bundle creation merges all matching executable payloads
via lipo — covers helper binaries, framework executables, dylibs
- apple.go: default 30min notarisation timeout per RFC
Verified: go test ./pkg/build + subset runs pass.
Full go test ./... blocked by transient go-i18n workspace compile error (unrelated).
Co-Authored-By: Virgil <virgil@lethean.io>
- wails.go: v3 fallback path runs configured frontend prebuild before wails3
— Deno/npm frontends now apply on v3 projects without Taskfile fallback
- cpp.go: preflight Conan alongside make with clear install-error message
- release.yml: provision Conan via actions/setup-python when CMakeLists.txt present
Verified: go test ./... passed
Co-Authored-By: Virgil <virgil@lethean.io>
- discovery.go: has_subtree_npm now reports only actual nested
monorepo manifests, not the conventional frontend/ layout (was
spuriously flagging every Wails-style frontend/)
- discovery.go: hidden dirs skipped during subtree scans
- options.go: Ubuntu webkit2_41 tag injection limited to Wails
discovery (was injecting on every Ubuntu 24.04+ project,
cluttering builds for non-Wails apps)
- frontend/ manifests still surface as a Node layer in discovery
- discovery_test, options_test, api/provider_test: lock behaviour
Co-Authored-By: Virgil <virgil@lethean.io>
- discovery.go: Discover, PrimaryType, DiscoverFull no longer append
auto-detected stacks when .core/build.yaml already declares a build
type — matches RFC "use config" contract
- apple/apple.go: Apple wrapper registration path now seeds a builders
registry when the host Core supports one, while still registering
the Apple builder as a service
- discovery_test.go: mixed-marker coverage
Co-Authored-By: Virgil <virgil@lethean.io>
- cmd/build/cmd_release.go: register `core release` as top-level alias
alongside `core build release` for the RFC ergonomics
- pkg/build/apple/apple.go: Apple wrapper exposes RFC-shaped
WailsBuildConfig with string LDFlags, defaults ProjectDir to cwd
before converting to the lower-level build config
- cmd_release_test.go + apple/apple_test.go: regression coverage
Co-Authored-By: Virgil <virgil@lethean.io>
- pkg/build/runtime_config.go (new): shared mapper carries the full
.core/build.yaml state into builders instead of partial subsets —
project.main, flags, tags, env, obfuscation, cache, etc. flow
through every entrypoint consistently
- pkg/api/provider.go: API build path now respects the full config
and sets up build cache before running builds
- cmd/build/cmd_apple.go + pkg/build/apple/apple.go: Apple
entrypoints initialise cache config before building
- pkg/build/apple.go: Apple Wails helper always includes the mlx
build tag per RFC
- runtime_config_test, provider_test, cmd_apple_test, apple/apple_test,
apple_test: coverage for every new path
Co-Authored-By: Virgil <virgil@lethean.io>
- internal/cmdutil/cmdutil.go (new): shared CLI adapter helpers for the
core.Command registration path
- cmd/build/{cmd_build,cmd_apple,cmd_release,cmd_workflow}.go +
cmd/ci/ci.go + cmd/sdk/cmd.go: migrated from Cobra-style
cli.NewCommand/StringFlag to core.Command registration with
core.Options.String/Int/Bool
- pkg/api/provider.go: POST /release/workflow accepts empty JSON body
but correctly rejects malformed JSON with 400
- pkg/api/provider_test.go: regression for the new behaviour
Co-Authored-By: Virgil <virgil@lethean.io>
- pkg/build/env.go (new): central cache-aware subprocess env helper so
GOCACHE and GOMODCACHE flow consistently through every shelled
builder — Wails v2/v3, Taskfile, Apple Wails, Node, PHP, Rust, Docs,
Docker, LinuxKit, C++ make
- builders/wails.go: Wails v2 builds now honour cfg.Obfuscate and pass
-obfuscated (was silently ignored)
- Wails v2/v3, Taskfile, Apple regressions added to assert env + flag
Co-Authored-By: Virgil <virgil@lethean.io>
- discovery.go: .core/build.yaml build.type honoured as config-first
override; .core/build.yaml recorded in marker map; C++ ahead of
Docker/Taskfile in fallback priority
- builders/wails.go: distro-aware Linux package hints —
libwebkit2gtk-4.0-dev on Ubuntu 20.04/22.04, 4.1-dev on 24.04+
- pkg/api/provider.go: returns linux_packages from the discovery
- builders/wails.go: monorepo frontend lookup capped at depth 2 to
match RFC (was unbounded)
- discovery_test, wails_test, projectdetect_test, provider_test:
coverage for all new paths
Co-Authored-By: Virgil <virgil@lethean.io>
- discovery.go: Wails inferred not only from wails.json but also from
go.mod or go.work + frontend manifests at root, in frontend/, or at
depth-2 monorepo paths, including Deno manifests. Flows through
Discover, PrimaryType, DiscoverFull, projectdetect, WailsBuilder.Detect
- regressions added across discovery_test, projectdetect_test,
wails_test for the new layouts
- cache_test + workflow_test: migrate stale `fs.Dirs[x] = true` assertions
to `fs.EnsureDir` — the io.MockMedium API moved to the method-based
shape
Co-Authored-By: Virgil <virgil@lethean.io>