Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5522d94
docs(ci): clarify resource and provider acceptance
harryisfish Nov 6, 2026
1f72cb9
perf(ci): reuse verified builds and parallelize acceptance
harryisfish Nov 6, 2026
692a86b
merge: integrate current main before CI acceptance
harryisfish Nov 6, 2026
c35ba53
perf(ci): preserve native cache identity across job extraction
harryisfish Nov 6, 2026
a555060
fix(ci): await native deep-link confirmation before navigation
harryisfish Nov 6, 2026
a2c46f0
merge: sync npm publication changes before CI acceptance
harryisfish Nov 6, 2026
e269368
fix(ci): require complete ios cache and unique deep-link destination
harryisfish Nov 6, 2026
22e0857
fix(ci): allow cold ios build cache cleanup to finish
harryisfish Nov 6, 2026
3fb9a85
chore(ci): merge main mobile controls before validation
harryisfish Nov 6, 2026
48b969d
fix(ci): update native driver for hosted runner failures
harryisfish Nov 6, 2026
3def058
chore(ci): sync current cli and version baseline
harryisfish Nov 6, 2026
4315bff
fix(ci): retain safe native install diagnostics
harryisfish Nov 6, 2026
0d03d10
chore(ci): integrate the product release workflow
harryisfish Nov 6, 2026
f89d981
fix(ci): normalize public archive permissions
harryisfish Nov 6, 2026
da01dd2
chore(ci): isolate cold ios runner diagnostics
harryisfish Nov 6, 2026
3a1490c
chore(ci): retain runner startup process diagnostics
harryisfish Nov 6, 2026
493350e
chore(ci): capture encrypted runner startup evidence
harryisfish Nov 6, 2026
1d1800d
chore(ci): capture owned runner evidence on prepare failures
harryisfish Nov 6, 2026
b08778f
chore(ci): isolate runner derived data for diagnosis
harryisfish Nov 7, 2026
4c67d3d
chore(ci): capture encrypted runner context after prepare failures
harryisfish Nov 7, 2026
fe21359
chore(ci): remove temporary runner diagnostics
harryisfish Nov 7, 2026
ef0ad3d
fix(ci): install directly on verified fresh simulators
harryisfish Nov 7, 2026
f216178
Merge branch 'main' into perf/ci-artifact-feedback
harryisfish Nov 7, 2026
fae9f40
fix(ci): align native acceptance with deferred inputs
harryisfish Nov 7, 2026
9d489d0
fix(e2e): correct deferred input retry safety
harryisfish Nov 7, 2026
e9c602e
fix(ci): stabilize control fixtures and preserve mobile diagnostics
harryisfish Nov 7, 2026
1bb5430
fix(mobile): wait for native input sheet dismissal
harryisfish Nov 7, 2026
c244697
fix(ci): retain bounded node startup diagnostics
harryisfish Nov 7, 2026
58c070b
fix(ci): align the iOS acceptance simulator profile
harryisfish Nov 8, 2026
a323e3e
fix(ci): initialize Go before applying the simulator profile
harryisfish Nov 8, 2026
88288b8
fix(ci): integrate platform delivery and snapshot diagnostics
harryisfish Nov 8, 2026
bd21489
fix(ci): align provider fixtures and preserve failure cleanup
harryisfish Nov 8, 2026
b392b02
test(ci): observe clipboard reads and fixture exit
harryisfish Nov 8, 2026
8de22f0
fix(ci): integrate main checks and retain runner errors
harryisfish Nov 8, 2026
f678f7c
fix(ci): avoid matching prepare variables as build commands
harryisfish Nov 8, 2026
97ef708
fix(ci): capture one exact iOS runner prepare failure
harryisfish Nov 8, 2026
e48f365
ci: remove the temporary runner control after verification
harryisfish Nov 8, 2026
e39f548
fix(bridge): confirm managed process exits before clearing ownership
harryisfish Nov 8, 2026
78eeadc
fix(pi): retain process records until the full tree exits
harryisfish Nov 8, 2026
00fb219
test(core): refresh relay watcher baselines before restart
harryisfish Nov 8, 2026
beb3962
fix(ci): integrate current node runtimes and bind shared web inputs
harryisfish Nov 8, 2026
62a09b6
fix(ci): qualify windows fixture types and wait for desktop readiness
harryisfish Nov 8, 2026
933b87f
fix(ci): retain the first XCTest prepare failure for diagnosis
harryisfish Nov 8, 2026
03562cc
fix(ci): classify XCTest launch failures before cleanup
harryisfish Nov 8, 2026
63bf627
fix(ci): preserve bounded runner startup evidence
harryisfish Nov 8, 2026
213594a
refactor(ci): remove temporary runner diagnostic mode
harryisfish Nov 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 27 additions & 11 deletions .github/workflows/ci-desktop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ on:
source_sha: {type: string, required: true}
runner: {type: string, required: true}
target: {type: string, required: true}
package_artifact: {type: string, default: ''}
package_artifact_id: {type: string, default: ''}
crypto_artifact_id: {type: string, default: ''}
web_artifact_id: {type: string, default: ''}
permissions:
contents: read
jobs:
Expand All @@ -25,25 +27,39 @@ jobs:
with: {node-version: '24', cache: pnpm, cache-dependency-path: pnpm-lock.yaml}
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
with: {python-version: '3.12'}
- name: Require exact producer artifact IDs
env:
PACKAGE_ARTIFACT_ID: ${{ inputs.package_artifact_id }}
CRYPTO_ARTIFACT_ID: ${{ inputs.crypto_artifact_id }}
WEB_ARTIFACT_ID: ${{ inputs.web_artifact_id }}
run: |
if [[ -n "$PACKAGE_ARTIFACT_ID" ]]; then
[[ "$PACKAGE_ARTIFACT_ID" =~ ^[1-9][0-9]*$ ]]
else
[[ "$CRYPTO_ARTIFACT_ID" =~ ^[1-9][0-9]*$ && "$WEB_ARTIFACT_ID" =~ ^[1-9][0-9]*$ ]]
fi
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
if: inputs.package_artifact != ''
if: inputs.package_artifact_id != ''
with:
name: ${{ inputs.package_artifact }}
artifact-ids: ${{ inputs.package_artifact_id }}
merge-multiple: true
path: .artifacts/packages
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
with:
name: crypto-web-${{ inputs.source_sha }}
artifact-ids: ${{ inputs.crypto_artifact_id }}
merge-multiple: true
path: apps/app/generated
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
with:
name: web-${{ inputs.source_sha }}
artifact-ids: ${{ inputs.web_artifact_id }}
merge-multiple: true
path: apps/app/dist/client
- uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
- uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
with:
key: desktop-native-${{ inputs.target }}${{ runner.os == 'Windows' && '-static-crt' || '' }}
cache-on-failure: true
Expand All @@ -53,7 +69,7 @@ jobs:
- name: Select this platform's Python
run: printf 'PY=%s\n' "$(command -v python3 || command -v python)" >> "$GITHUB_ENV"
- name: Build this platform's native runtime
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
env:
TARGET: ${{ inputs.target }}
run: |
Expand All @@ -64,7 +80,7 @@ jobs:
bash scripts/package-node.sh --target "$TARGET"
fi
- name: Keep this platform's runtime independently reviewable
if: inputs.package_artifact == ''
if: inputs.package_artifact_id == ''
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: desktop-runtime-${{ inputs.target }}-${{ inputs.source_sha }}
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/ci-native.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: ci-native
on:
workflow_call:
inputs:
runner: {type: string, required: true}
target: {type: string, required: true}
outputs:
artifact_id:
value: ${{ jobs.build.outputs.artifact_id }}
producer_attempt:
value: ${{ jobs.build.outputs.producer_attempt }}
permissions:
contents: read
jobs:
build:
runs-on: ${{ inputs.runner }}
outputs:
artifact_id: ${{ steps.upload.outputs.artifact-id }}
producer_attempt: ${{ github.run_attempt }}
env:
PACKAGE_TARGET: ${{ inputs.target }}
steps:
- uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@b725eda525362e7cf34af9a7243cac1e3f01a7ec
- uses: Swatinem/rust-cache@d1527c8f67ef9af357290475d4af4b0fab8f12e0
with:
shared-key: package-${{ inputs.target }}-package
save-if: ${{ github.ref == 'refs/heads/main' || github.event_name == 'workflow_dispatch' }}
- name: Build and seal native release input without Web dependencies
run: |
[[ "$(rustc -vV | sed -n 's/^host: //p')" == "$PACKAGE_TARGET" ]]
bash scripts/package-node.sh --target "$PACKAGE_TARGET" --native-output .artifacts/native-input.tar.gz
- id: upload
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
with:
name: native-${{ inputs.target }}-${{ github.sha }}-${{ github.run_attempt }}
path: .artifacts/native-input.tar.gz
if-no-files-found: error
retention-days: 14
Loading