Commit Graph

18 Commits

Author SHA1 Message Date
fa161247d3
Ci/vault secrets per platform release (#45)
* chore(security): add gitleaks config allowlisting vendored/test fixtures

Suppress false positives so `gitleaks detect` is clean:
- third_party/* (cargokit ships a public binary-verification key)
- workspace_management_unit_test.dart (obfuscated "token" fixture)
- gatewayruntime/runtime_test.go (hardcoded "device-1" test key pair)

Real leaked secrets are purged from history, not allowlisted.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* chore(security): remove historical secret fixtures

* chore(release): bump build metadata for 1.1.5+2

* chore(release): bump version to 1.1.5+2

* chore(release): bump build metadata for 1.1.5+2

---------

Co-authored-by: Haitao Pan <manbuzhe2009@qq.com>

* ci(release): add TestFlight release matrix

* chore(release): bump version to 1.1.5+2

* chore(release): bump build metadata for 1.1.5+2

* ci(release): add TestFlight release matrix

---------

Co-authored-by: Haitao Pan <manbuzhe2009@qq.com>

* ci(release): load Vault secrets per-platform in build matrix

The build matrix loaded all 17 signing secrets in one shared block for
every platform. vault-action's ignoreNotFound only suppresses path-level
404s, not field-level "No match data" errors, so a single missing field
(e.g. APPLE_MAC_PROVISION_PROFILE_BASE64) failed every leg — including
linux/windows/android that need no Apple secrets.

Split the load into per-OS-family steps gated by matrix.platform:
- Apple (macos/ios): Apple cert + provisioning + keychain + export method
- Windows: WINDOWS_PFX_* + codesign subject
- Android: ANDROID_KEYSTORE_* + key alias/password
Linux requests nothing.

Also drop APP_STORE_CONNECT_* from the build matrix: only
testflight_upload.sh consumes them and it runs in the release job, which
loads them itself. The build matrix no longer depends on them.

Add shell: bash to the Export step (its `{ … } >> $GITHUB_ENV` brace
syntax is bash-only and would fail under the default pwsh on windows).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Haitao Pan <haitao.pan@xworkmate.ai>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Haitao Pan <manbuzhe2009@qq.com>
2026-06-29 15:56:26 +08:00
898b723780
ci: load Vault secrets per-platform in build matrix (#43)
The build matrix loaded every signing secret in one shared block for all
platforms. vault-action's ignoreNotFound only suppresses path-level 404s,
not field-level "No match data" errors, so a single missing field failed
every leg — including linux/windows/android that need no Apple secrets.

Split the load into per-OS-family steps gated by matrix.platform (Apple
for macos/ios, Windows, Android); linux requests nothing. Add shell: bash
to the Export step (its `{ … } >> $GITHUB_ENV` brace syntax is bash-only
and would fail under the default pwsh on windows).

Co-authored-by: Haitao Pan <manbuzhe2009@qq.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-29 15:45:07 +08:00
Haitao Pan
4bd7a677c5 ci: refresh app workflows for node 24 2026-06-26 19:27:30 +08:00
Haitao Pan
7765a7211d ci: move remote_contract to test gate between build and release
Reposition the remote provider contract check as a skippable test-stage
quality gate (needs: build, continue-on-error) so it can never block
build or release. release uses always() to wait without being gated.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 17:17:38 +08:00
Haitao Pan
481190f7b3 fix: skip remote contract on push 2026-06-06 13:42:23 +08:00
Haitao Pan
72a215a438 fix: merge workflow env blocks 2026-06-06 13:36:06 +08:00
Haitao Pan
72a1abed7d ci: read release secrets from vault 2026-06-06 13:33:44 +08:00
Haitao Pan
b0d2115c30 ci: pin app java setup action 2026-05-03 19:29:49 +08:00
58b8e398f2 Merge pull request #12 from x-evor/codex/provider-selection-test-mainline
Codex/provider selection test mainline
2026-04-14 15:03:46 +08:00
Haitao Pan
1f977caee2 test: lock provider selection mainline contract 2026-04-14 13:56:58 +08:00
Haitao Pan
00beaf295d fix: repair cross-platform release CI gating 2026-04-14 13:48:04 +08:00
Haitao Pan
bae412132d Fix release pipeline verification and latest release tagging 2026-04-11 10:31:15 +08:00
97b55fb466 Update build-and-release.yml 2026-04-11 09:09:12 +08:00
Haitao Pan
06117e9f0c merge: consolidate CI and thread binding branch work 2026-04-11 08:20:51 +08:00
0beff961b2 Remove 'verify' job dependency from build
Removed dependency on 'verify' job from the 'build' job.
2026-04-05 19:00:29 +08:00
Haitao Pan
a15f1acecf ci: expand release build matrix 2026-03-31 15:35:06 +08:00
Haitao Pan
81c14213d6 release: pin GitHub Actions to specific commits and remove Rust FFI workflow
- Pin actions/checkout, actions/setup-go, actions/upload-artifact, actions/download-artifact to specific commit hashes for supply chain security
- Remove build-rust-ffi.yml workflow as Rust FFI is no longer used

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 13:02:57 +08:00
Haitao Pan
18f56ecd02 Add multi-platform build and release workflow 2026-03-21 10:08:12 +08:00