gate: repeat each failed job's verdict lines at the end of the log
CI keeps only the last megabyte of the log, and the gate prints every job's full output before naming the failed jobs, so on main bcae2a72 the failing internal/host test's name had scrolled out of sight. The gate now ends with a failure summary: for each failed job, its --- FAIL lines, their file:line messages, any panic, and the tests a timeout reports as still running.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
1 file changed,
+11
−0
.amadan/test-gate.sh+11 −0
CI passed — run details
CI log
=== gate ===
.amadan/test-gate.sh
=== launchctx (0 s)
ok amadan.net/carlos/platform.git/launchctx 0.014s
? amadan.net/carlos/platform.git/launchctx/controlname [no test files]
? amadan.net/carlos/platform.git/launchctx/wireid [no test files]
=== vet (1 s)
=== gofmt (0 s)
gofmt -l .: clean
=== rest (59 s)
? github.com/carlosframework/platform/cmd/changelog [no test files]
ok github.com/carlosframework/platform/cmd/console 3.858s
ok github.com/carlosframework/platform/cmd/moveprobe 12.016s
ok github.com/carlosframework/platform/cmd/zddprobe 0.711s
ok github.com/carlosframework/platform/internal/activator 57.435s
ok github.com/carlosframework/platform/internal/agentsock 0.041s
ok github.com/carlosframework/platform/internal/alerting 0.005s
ok github.com/carlosframework/platform/internal/analytics 0.021s
ok github.com/carlosframework/platform/internal/appconfig 3.092s
ok github.com/carlosframework/platform/internal/apperr 0.132s
ok github.com/carlosframework/platform/internal/applog 0.269s
ok github.com/carlosframework/platform/internal/assetcache 0.121s
ok github.com/carlosframework/platform/internal/awsinv 0.006s
ok github.com/carlosframework/platform/internal/boxchoice 0.004s
ok github.com/carlosframework/platform/internal/boxid 1.073s
? github.com/carlosframework/platform/internal/boxid/boxidtest [no test files]
? github.com/carlosframework/platform/internal/boxid/internal/signtest [no test files]
ok github.com/carlosframework/platform/internal/boxvolumes 0.008s
ok github.com/carlosframework/platform/internal/caps 0.018s
ok github.com/carlosframework/platform/internal/certwarm 0.003s
ok github.com/carlosframework/platform/internal/cgroup 0.834s
ok github.com/carlosframework/platform/internal/changelog 0.607s
ok github.com/carlosframework/platform/internal/claimactivation 1.432s
ok github.com/carlosframework/platform/internal/clamd 0.066s
? github.com/carlosframework/platform/internal/cliflag [no test files]
? github.com/carlosframework/platform/internal/controlname [no test files]
? github.com/carlosframework/platform/internal/controlsock [no test files]
ok github.com/carlosframework/platform/internal/dbdoor 8.296s
ok github.com/carlosframework/platform/internal/dbdoor/dbdoortest 0.010s
ok github.com/carlosframework/platform/internal/dbquery 0.015s
ok github.com/carlosframework/platform/internal/dbreads 2.169s
? github.com/carlosframework/platform/internal/dbreads/dbreadstest [no test files]
ok github.com/carlosframework/platform/internal/dbverify 0.004s
ok github.com/carlosframework/platform/internal/dnsrec 0.004s
ok github.com/carlosframework/platform/internal/docsite 0.006s
ok github.com/carlosframework/platform/internal/domains 2.969s
ok github.com/carlosframework/platform/internal/doorkey 0.006s
ok github.com/carlosframework/platform/internal/economics 0.007s
ok github.com/carlosframework/platform/internal/edge 45.645s
? github.com/carlosframework/platform/internal/edgeproof [no test files]
ok github.com/carlosframework/platform/internal/edgesfile 0.010s
ok github.com/carlosframework/platform/internal/fleetapi 0.257s
ok github.com/carlosframework/platform/internal/gate 1.979s
ok github.com/carlosframework/platform/internal/genselect 0.024s
ok github.com/carlosframework/platform/internal/geo 0.014s
ok github.com/carlosframework/platform/internal/geoip 0.046s
ok github.com/carlosframework/platform/internal/historyreadback 0.319s
ok github.com/carlosframework/platform/internal/hostactors 6.695s
ok github.com/carlosframework/platform/internal/hostactors/awsmembership 0.007s
ok github.com/carlosframework/platform/internal/hostbox 3.657s
ok github.com/carlosframework/platform/internal/hostclaim 0.894s
ok github.com/carlosframework/platform/internal/hostenv 0.006s
ok github.com/carlosframework/platform/internal/hostevidence 0.007s
ok github.com/carlosframework/platform/internal/hostexec 5.993s
ok github.com/carlosframework/platform/internal/hostfence 0.058s
ok github.com/carlosframework/platform/internal/hostfiles 10.373s
ok github.com/carlosframework/platform/internal/hostfloor 0.032s
ok github.com/carlosframework/platform/internal/hostguard 1.076s
ok github.com/carlosframework/platform/internal/hostops 2.236s
? github.com/carlosframework/platform/internal/hostops/fencerelease [no test files]
ok github.com/carlosframework/platform/internal/hostops/internal/fencerelease 0.003s
ok github.com/carlosframework/platform/internal/hostquarantine 0.008s
ok github.com/carlosframework/platform/internal/hostrelocate 0.752s
ok github.com/carlosframework/platform/internal/hostresolve 0.202s
ok github.com/carlosframework/platform/internal/hostwrite 0.007s
ok github.com/carlosframework/platform/internal/infraview 0.003s
ok github.com/carlosframework/platform/internal/instancectl 5.278s
ok github.com/carlosframework/platform/internal/instanceexec 2.808s
ok github.com/carlosframework/platform/internal/instancefs 0.005s
ok github.com/carlosframework/platform/internal/instancekey 0.002s
ok github.com/carlosframework/platform/internal/instanceupdates 0.010s
ok github.com/carlosframework/platform/internal/layout 1.950s
ok github.com/carlosframework/platform/internal/lbhealth 0.002s
ok github.com/carlosframework/platform/internal/lease 10.079s
ok github.com/carlosframework/platform/internal/lease/leasetest 0.613s
ok github.com/carlosframework/platform/internal/ledger 0.031s
ok github.com/carlosframework/platform/internal/mail 0.176s
ok github.com/carlosframework/platform/internal/maintenance 0.082s
ok github.com/carlosframework/platform/internal/maintenanceexec 5.557s
ok github.com/carlosframework/platform/internal/maintenanceguard 0.096s
ok github.com/carlosframework/platform/internal/metrics 0.006s
ok github.com/carlosframework/platform/internal/moves 21.513s
ok github.com/carlosframework/platform/internal/moves/archive 1.258s
ok github.com/carlosframework/platform/internal/objstore 0.337s
ok github.com/carlosframework/platform/internal/ops 0.243s
ok github.com/carlosframework/platform/internal/park 0.291s
ok github.com/carlosframework/platform/internal/plans 0.011s
ok github.com/carlosframework/platform/internal/privatefile 0.004s
ok github.com/carlosframework/platform/internal/provision 14.782s
ok github.com/carlosframework/platform/internal/publicrelease 0.012s
? github.com/carlosframework/platform/internal/regionname [no test files]
ok github.com/carlosframework/platform/internal/registry 5.772s
ok github.com/carlosframework/platform/internal/relay 7.242s
ok github.com/carlosframework/platform/internal/release 26.102s
ok github.com/carlosframework/platform/internal/rollout 3.912s
ok github.com/carlosframework/platform/internal/rolloutwords 0.004s
ok github.com/carlosframework/platform/internal/rootaws 0.009s
ok github.com/carlosframework/platform/internal/rootparticipation 0.063s
ok github.com/carlosframework/platform/internal/rootstate 0.030s
ok github.com/carlosframework/platform/internal/runs 0.554s
ok github.com/carlosframework/platform/internal/s3compat 0.006s
ok github.com/carlosframework/platform/internal/safefile 0.007s
ok github.com/carlosframework/platform/internal/schedule 2.758s
ok github.com/carlosframework/platform/internal/seeds 0.013s
ok github.com/carlosframework/platform/internal/sim/engines 3.026s
ok github.com/carlosframework/platform/internal/sim/hostlife 11.720s
ok github.com/carlosframework/platform/internal/sim/litestreamfacts 3.876s
ok github.com/carlosframework/platform/internal/status 0.080s
ok github.com/carlosframework/platform/internal/steering 0.006s
ok github.com/carlosframework/platform/internal/stopevidence 0.189s
ok github.com/carlosframework/platform/internal/svcrole 0.003s
ok github.com/carlosframework/platform/internal/telemetry 0.008s
ok github.com/carlosframework/platform/internal/termfence 0.005s
ok github.com/carlosframework/platform/internal/tunnelclient 0.015s
ok github.com/carlosframework/platform/internal/unixdial 0.003s
ok github.com/carlosframework/platform/internal/updatewords 0.009s
ok github.com/carlosframework/platform/internal/usage 0.005s
ok github.com/carlosframework/platform/internal/version 0.002s
ok github.com/carlosframework/platform/internal/vet 1.601s
=== internal_console@0 (72 s)
ok github.com/carlosframework/platform/internal/console 69.930s
=== internal_console@1 (49 s)
ok github.com/carlosframework/platform/internal/console 47.161s
=== internal_console@2 (42 s)
ok github.com/carlosframework/platform/internal/console 40.504s
=== internal_console@3 (41 s)
ok github.com/carlosframework/platform/internal/console 39.196s
=== internal_console@4 (41 s)
ok github.com/carlosframework/platform/internal/console 39.374s
=== internal_console@5 (42 s)
ok github.com/carlosframework/platform/internal/console 40.198s
=== internal_console@6 (45 s)
ok github.com/carlosframework/platform/internal/console 42.531s
=== internal_console@7 (47 s)
ok github.com/carlosframework/platform/internal/console 45.380s
=== internal_host@0 (64 s)
ok github.com/carlosframework/platform/internal/host 62.317s
=== internal_host@1 (31 s)
ok github.com/carlosframework/platform/internal/host 29.343s
=== internal_host@2 (31 s)
ok github.com/carlosframework/platform/internal/host 28.984s
=== internal_host@3 (32 s)
ok github.com/carlosframework/platform/internal/host 30.097s
=== root@0 (70 s)
ok github.com/carlosframework/platform 68.877s
=== root@1 (49 s)
ok github.com/carlosframework/platform 48.150s
=== root@2 (61 s)
ok github.com/carlosframework/platform 59.995s
=== root@3 (53 s)
ok github.com/carlosframework/platform 51.698s
=== root@4 (55 s)
ok github.com/carlosframework/platform 53.700s
=== cross ===
--- shard 0 of 5 ---
cross-compiling darwin/arm64
--- shard 1 of 5 ---
cross-compiling darwin/amd64
--- shard 2 of 5 ---
cross-compiling linux/arm64
linux/arm64 carlos binary: 50659490 bytes (ceiling 52000000)
--- shard 3 of 5 ---
cross-compiling windows/amd64
--- shard 4 of 5 ---
cross-compiling windows/arm64
=== minio-contract ===
minio contract: arm64, minio RELEASE.2025-09-07T16-13-09Z, mc RELEASE.2025-08-13T08-35-41Z
minio: cached, digest verified
mc: cached, digest verified
minio healthy on 127.0.0.1:20999
Added `local` successfully.
Bucket created successfully `local/contract-bucket`.
Bucket created successfully `local/denied-bucket`.
Created policy `contract-only` successfully.
Added user `scopeduser` successfully.
Attached Policies: [contract-only]
To User: scopeduser
buckets and scoped user ready
=== RUN TestDeliveredContractMinio
=== RUN TestDeliveredContractMinio/put
=== RUN TestDeliveredContractMinio/get_round-trips_the_body
=== RUN TestDeliveredContractMinio/list_shows_the_key
=== RUN TestDeliveredContractMinio/head_and_list_agree_on_the_version
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_its_own_object
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/not_by_PutObjectTagging
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/and_not_by_x-amz-tagging_on_upload
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CreateMultipartUpload
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CopyObject_with_a_REPLACE_tagging_directive
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/but_multipart_itself_is_allowed
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_copy_itself_is_allowed
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/a_POST-policy_forged_tag_with_a_matching_version_is_still_not_a_verdict
=== RUN TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_an_ordinary_tagged-with-something-else_upload_is_allowed
=== RUN TestDeliveredContractMinio/delete_removes_it
=== RUN TestDeliveredContractMinio/cross-bucket_denial
--- PASS: TestDeliveredContractMinio (0.02s)
--- PASS: TestDeliveredContractMinio/put (0.00s)
--- PASS: TestDeliveredContractMinio/get_round-trips_the_body (0.00s)
--- PASS: TestDeliveredContractMinio/list_shows_the_key (0.00s)
--- PASS: TestDeliveredContractMinio/head_and_list_agree_on_the_version (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/not_by_PutObjectTagging (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_its_own_object/and_not_by_x-amz-tagging_on_upload (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route (0.01s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CreateMultipartUpload (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/not_by_CopyObject_with_a_REPLACE_tagging_directive (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/but_multipart_itself_is_allowed (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_copy_itself_is_allowed (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/a_POST-policy_forged_tag_with_a_matching_version_is_still_not_a_verdict (0.00s)
--- PASS: TestDeliveredContractMinio/the_app_cannot_tag_by_any_other_route/and_an_ordinary_tagged-with-something-else_upload_is_allowed (0.00s)
--- PASS: TestDeliveredContractMinio/delete_removes_it (0.00s)
--- PASS: TestDeliveredContractMinio/cross-bucket_denial (0.00s)
PASS
ok github.com/carlosframework/platform/internal/objstore 0.023s
=== RUN TestT4StorageProbeMinio
2026/10/25 00:08:58 moves: T4: STORE: list: operation error S3: ListObjectsV2, https response error StatusCode: 403, RequestID: 18E19D2BD29DC050, HostID: 7c420053e0fbcd7f41653fdd92ffa2802c903d05303b1aa15adc2e8bb65d183f, api error SignatureDoesNotMatch: The request signature we calculated does not match the signature you provided. Check your key and signing method.
--- PASS: TestT4StorageProbeMinio (0.01s)
PASS
ok github.com/carlosframework/platform/internal/host 0.022s
=== RUN TestS3StoreMinioContract
=== RUN TestS3StoreMinioContract/conditional_get_and_etag_listing
=== RUN TestS3StoreMinioContract/bump_through_every_mutation_path
--- PASS: TestS3StoreMinioContract (0.02s)
--- PASS: TestS3StoreMinioContract/conditional_get_and_etag_listing (0.01s)
--- PASS: TestS3StoreMinioContract/bump_through_every_mutation_path (0.01s)
PASS
ok github.com/carlosframework/platform/internal/release 0.031s
Bucket created successfully `local/dbf-deploy`.
Bucket created successfully `local/dbf-data-ie`.
Bucket created successfully `local/dbf-data-uk`.
local/dbf-deploy versioning is enabled
Created policy `dbf-console` successfully.
Created policy `dbf-ukbox` successfully.
Added user `dbfconsole` successfully.
Added user `dbfukbox` successfully.
Attached Policies: [dbf-console]
To User: dbfconsole
Attached Policies: [dbf-ukbox]
To User: dbfukbox
=== RUN TestDBForwardMinio
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/25 00:09:00 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000002
2026/10/25 00:09:00 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000002 maxTXID=0000000000000002 size=370
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000002
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000002 txid.db=0000000000000003
2026/10/25 00:09:00 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000003 maxTXID=0000000000000003 size=454
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000003 txid.db=0000000000000003
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000000 txid.db=0000000000000001
2026/10/25 00:09:00 INFO ltx file uploaded system=store db=source.db replica=file level=0 minTXID=0000000000000001 maxTXID=0000000000000001 size=720
2026/10/25 00:09:00 INFO replica sync system=store db=source.db replica=file txid.replica=0000000000000001 txid.db=0000000000000001
2026/10/25 00:09:00 console: CARLOS_SECRETS_PUBKEY is unset, so no region outside the home can be chosen automatically
2026/10/25 00:09:00 console: could not notify member@example.com of a CLI token issue: keymail: lookup member@example.com: keymail: GET /api/federation/lookup?addr=member%40example.com&from=console%40127.0.0.1%3A43823: could not determine target mailbox
agent.go:135: dbreads: dbr_xa36viftdlghb5d7ij4uptdwty: planned 3 files (1544 bytes) and restored to 3 in 9ms
agent.go:135: dbreads: dbr_xa36viftdlghb5d7ij4uptdwty: output 5 bytes in 1 confirmed chunks in 1ms
2026/10/25 00:09:01 console: db read dbr_xa36viftdlghb5d7ij4uptdwty: relayed 1 chunks (102 bytes) in 1.004s, ended done
agent.go:135: dbreads: dbr_hwjhsjooqxzim6a7n47rdqnl7u: planned 1 files (720 bytes) and restored to 1 in 8ms
agent.go:135: dbreads: dbr_hwjhsjooqxzim6a7n47rdqnl7u: output 5 bytes in 1 confirmed chunks in 1ms
2026/10/25 00:09:02 console: db read dbr_hwjhsjooqxzim6a7n47rdqnl7u: relayed 1 chunks (102 bytes) in 1.004s, ended done
agent.go:135: dbreads: dbr_b3vvav2maugecpj7ptdl4in4jy: planned 3 files (1544 bytes) and held through 3 in 8ms
agent.go:135: dbreads: dbr_b3vvav2maugecpj7ptdl4in4jy: output 1544 bytes in 1 confirmed chunks in 1ms
2026/10/25 00:09:03 console: db read dbr_b3vvav2maugecpj7ptdl4in4jy: relayed 1 chunks (1641 bytes) in 1.005s, ended done
=== RUN TestDBForwardMinio/by_disconnect
=== NAME TestDBForwardMinio
agent.go:135: dbreads: dbr_feqmsknjovcgvcuzx4w5o7xebe: planned 3 files (1544 bytes) and restored to 3 in 9ms
2026/10/25 00:09:03 console: db read dbr_feqmsknjovcgvcuzx4w5o7xebe: relayed 0 chunks (0 bytes) in 28ms, ended client gone
agent.go:135: dbreads: dbr_feqmsknjovcgvcuzx4w5o7xebe: output 5 bytes in 1 confirmed chunks in 33ms
=== RUN TestDBForwardMinio/by_timeout
=== NAME TestDBForwardMinio
agent.go:135: dbreads: dbr_xynsithbmu7g43qa6fhgkj3lva: planned 3 files (1544 bytes) and restored to 3 in 9ms
2026/10/25 00:09:23 console: db read dbr_xynsithbmu7g43qa6fhgkj3lva: relayed 0 chunks (0 bytes) in 19.188s, ended no-result
agent.go:135: dbreads: dbr_xynsithbmu7g43qa6fhgkj3lva: output 5 bytes in 1 confirmed chunks in 19.18s
--- PASS: TestDBForwardMinio (22.57s)
--- PASS: TestDBForwardMinio/by_disconnect (0.17s)
--- PASS: TestDBForwardMinio/by_timeout (19.30s)
PASS
ok github.com/carlosframework/platform/internal/console 22.590s
minio contract: PASS
diff --git a/.amadan/test-gate.sh b/.amadan/test-gate.sh| index 1b1ae46f6..b76b78c84 100755 |
| --- a/.amadan/test-gate.sh |
| +++ b/.amadan/test-gate.sh |
| @@ -248,6 +248,17 @@ for name in $names; do |
| done |
| if [ -n "$failed" ]; then |
| + # The logs above can run to megabytes, and CI keeps only the tail, so |
| + # a failing test's name used to scroll out of sight (main bcae2a72, |
| + # 2026-10-25). Each failed job's verdict lines are repeated here, last: |
| + # the test names, their file:line messages, a panic, and the tests a |
| + # timeout reports as still running. |
| + echo |
| + echo "Failure summary:" |
| + for name in $failed; do |
| + echo "--- $name" |
| + grep -E '^[[:space:]]*--- FAIL|^panic:|^FAIL[[:space:]]|^[[:space:]]+[A-Za-z0-9_./-]+_test\.go:[0-9]+:|^[[:space:]]*running tests:|^[[:space:]]+Test[A-Za-z0-9_/-]* \([0-9.]+[a-z]+\)$' "$out/$name.log" 2>/dev/null | head -60 || true |
| + done |
| echo |
| echo "FAILED:$failed" |
| exit 1 |