Commit Graph
17 Commits
Author SHA1 Message Date
spacedandy-agents-simplex 65a8b7d2f5 ci: encrypt the test backend's keys that the Claude jobs carry over, to a key only those jobs hold
The iOS and desktop app jobs saved their stopped test backend (server keys and databases) as a public artifact, so that the Claude job could restart it with the same addresses: anyone signed in to GitHub could download it for a day and act as the test directory or relay while the Claude job ran.

backend-state.sh now packs it as CMS AuthEnvelopedData (AES-256-GCM, RSA-OAEP key transport) to the committed backend-state.crt; the Claude job decrypts it with the environment secret BACKEND_STATE_KEY, given only to that step, so the backend it restarts and the Claude session don't inherit it. Without the secret the Claude job stops at that step, before the Claude session.
2026-10-21 18:11:26 +00:00
spacedandy-agents-simplex 181c92e9a4 fixup! ci: check that a page of chats already listed adds nothing to the search results 2026-10-21 15:27:45 +00:00
spacedandy-agents-simplex a429a5c6f1 ci: check that a page of chats already listed adds nothing to the search results
The iOS and desktop smoke tests looked for the note "All results on this page are
already in your chats", which the app no longer shows. As nothing marks the end of
a search that adds no row, they wait out the request (it times out after 10 s),
retry once if it failed, and check the listed chat, no result row for it, no Open
and no note. The test plans, prompts and READMEs say the same, and New chat's
results as one group with the matching contacts first.
2026-10-21 15:05:46 +00:00
spacedandy-agents-simplex dfdfa0383b ci: describe the new online search checks in the iOS simulator and desktop READMEs
Run: 011-search-redesign, slice 6 (feature CI docs)
2026-10-21 05:02:02 +00:00
spacedandy-agents-simplex 65036d216c ci: let the desktop tests right-click a point, to open a list row's menu
ui right-click <x> <y> clicks with the right button, as ui click does with the left.

Run: 011-search-redesign, slice 4 (CI helper)
2026-10-21 02:30:04 +00:00
spacedandy-agents-simplex b89766128b Merge branch 'master' into f/directory-search
# Conflicts:
#	apps/ios/spec/api.md
#	apps/multiplatform/spec/api.md
#	scripts/ci/desktop-linux/claude-test.sh
2026-10-20 21:41:30 +00:00
spaced4ndy 5834179be6 ci: start app tests only by hand (#7777) 2026-10-20 16:48:47 +00:00
spacedandy-agents-simplex 6b02b1b775 ci: say in the app CI READMEs that the backend-state artifact is public, and why that is accepted
The artifact carrying the app job's stopped test backend to the Claude job holds its databases and server keys, which anyone signed in to GitHub can download for the day it is kept. The READMEs now say so, what someone could do with it, and why encrypting it isn't possible under the Claude job's one-secret rule.

Review R1-1, run 008-dirsearch-known-chats

[app-ci:ios] [ci-backend]
2026-10-19 10:49:13 +00:00
spaced4ndy 7ac7d00025 ci: start the app tests from run tags only on f/ branches (#7768) 2026-10-19 10:25:26 +00:00
spacedandy-agents-simplex 8a9628bd9c ci: start the app job's test backend again in the Claude jobs, as the app points at its directory
The app is built in the app job with that job's backend's directory address in DIRECTORY_SERVICE_LINK, and since master moved Claude into its own job, that job started a new backend with another address. The app job now uploads its stopped backend's work dir (without the binaries), and the Claude job restarts it with a new backend.sh resume: the same servers' keys and databases, so the same addresses. The relay, directory, names server and contacts start through the functions start uses, split out of it. The iOS Claude job's smoke test also gets BACKEND_DIR, as the app job's does.

[claude-test] [ci-backend]
2026-10-19 10:24:43 +00:00
spacedandy-agents-simplex 547c8ac18b Merge branch 'master' into f/directory-search
# Conflicts:
#	.github/workflows/desktop-linux.yml
#	apps/ios/SimpleX.xcodeproj/project.pbxproj
#	apps/multiplatform/product/gaps.md
#	apps/multiplatform/spec/README.md
#	apps/multiplatform/spec/client/navigation.md
#	scripts/ci/desktop-linux/README.md
#	scripts/ci/desktop-linux/claude-test.sh
#	scripts/ci/ios-sim/README.md
#	scripts/ci/ios-sim/backend.sh
#	src/Simplex/Chat/Library/Commands.hs
2026-10-19 10:24:36 +00:00
spaced4ndy 35bc0b66d9 ci: app test workflows save no caches, reuse their builds as artifacts, and run Claude in its own job (#7767) 2026-10-19 09:31:38 +00:00
spacedandy-agents-simplex 0808da23fc ci: check in the desktop smoke and Claude tests that known directory results are chats, and the note for a page of them
After joining ci_channel, the scripted search case checks in both layouts that searching its name shows the note "All results on this page are already in your chats" and no Directory row, and that a search the local list doesn't match shows ci_channel as a chat row that opens it, not "#ci_channel" with "Join channel"; New chat shows it as a contact-style row. The Claude search test's part C expects the same.

Run: 008-dirsearch-known-chats, slice 5

[claude-test] [ci-backend]
2026-10-19 09:31:12 +00:00
spacedandy-agents-simplex 03f488c85c ci: add joining and duplicate checks to the desktop Claude search test
Part C joins a channel from its Directory row, then checks that the joined chat is not listed again by the directory when the local list shows it, that it is when the list doesn't, the empty result, an unregistered name, and that only the Search key resolves names. The session gets 120 turns for it.

[claude-test:desktop] [ci-backend]
2026-10-17 02:20:28 +00:00
spacedandy-agents-simplex f1e4b45701 ci: give the desktop smoke test's time with the backend's searches 2026-10-16 22:36:14 +00:00
spacedandy-agents-simplex b8fab259da ci: describe the desktop search checks in the README
Runs the scripted tests of both apps with the test backend: [app-ci] [ci-backend]
2026-10-16 21:02:15 +00:00
spaced4ndy 5a80713699 ci: test the desktop app on Linux runners on request, with an optional Claude session (#7736) 2026-10-16 17:34:43 +00:00