Repository navigation
fix(console): verify service startup during installation - #1333
Merged
Merged
Conversation
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #1327
Warn when
getenforcereportsEnforcing, linking to #1078. Document the curl prerequisite, startup checks and failure output in the guide and site.Evidence
cargo test --test console_install inactive_console_fails_installation_with_its_journal_before_proxy_changesfailed because installation exited successfully with no journal output. The configured-port regression also failed when the active service had no listener.After:
cargo test --test console_installpassed: 18 tests, one ignored fixture entry point. Coverage includes inactive service, unreachable port, delayed port readiness, configured port selection and absent/Enforcing/Permissive/Disabled SELinux.cargo check,cargo fmt --checkandcargo clippy --all-targets -- -D warningspassed.scripts/affected-tests main: all 50 browser tests, 1,490 Rust unit tests and integration groups through site deployment passed, exceptthe_systemd_units_verify. The runner exited nonzero because systemd 252 warns about the host's unrelatedsnapd.serviceusing unsupportedRestartMode.SYSTEMD_UNIT_PATH=/tmp/issue-1327-systemd-units: cargo test --test site_deploy the_systemd_units_verifypassed. That temporary directory masks onlysnapd.service; default unit paths and diagnostics remain enabled.cargo test --test spec_push_race --test spec_run --test status --test stop --test toolchain --test trial --test update --test user_config. This completes every selected test group without repeating the successful groups.GIT_CONFIG_COUNT=1 GIT_CONFIG_KEY_0=tag.gpgSign GIT_CONFIG_VALUE_0=false. Focused reruns also passed for the three Worktree tag fixtures and Bug-origin regression that initially exposed the host's signing setting and Python 3.9 default. No source changes were needed for these environment issues.time -p, cached builds): affected runner 1,111.84s; remaining targets 244.17s. The shell timer was used because/usr/bin/timeis unavailable.Test seams
thirdshift console installCLI and its emitted shell script, executed with fixture system commands, observing exit status, diagnostics and installation actions.Review coverage
Independent Standards and Spec reviews used
mainat09d6d401cdc07e6a37a86aa77a0f22366e00aefbas the fixed point. Standards: one P3 duplication finding, addressed by sharing the bounded fake sleep fixture and confirmed by the reviewer. Spec: zero findings.Both reviewers inspected changed hunks in all five files:
src/console/install.rs,tests/console_install.rs,docs/guide.md,site/docs/index.html, andsite/how-it-works/index.html. Changed files left unread: none. Generated-output exclusions: none.Unaddressed findings
Standards
None.
Spec
None.
CI notes
console-test intermittently lost selection at
console/tests/inbox.test.cjs:813when a selected row moved into folded Done; that test, Console/Inbox implementation and CI job are unchanged againstmain(f39fdd07), while this branch changes only installation and its docs/tests. Localnpm test --prefix consolepassed all 84 tests, and the exact failing test passed once on this branch and 50 consecutive times on an unchangedmainbuild. Earlier main CI separately lost selection in the neighboring live-push test. No unrelated code or tests were changed.CI test job failed intermittently at
tests/progress_lines.rs:383: recovery expected 42 input / 7 output tokens but received the fake OpenCode completion export's 2800 / 800. This branch changes only Console installation and its docs/tests; the failing test, fake, shared support, and Session/process/Harness code are unchanged againstmain(e5b48aac). The focused test passed on this branch; the fullprogress_linestarget and 20 focused repetitions passed on unchangedmain; the full branch target also passed in fresh local validation. No unrelated code was changed.Fresh
scripts/affected-tests origin/main(20m05s, including compilation) passed all 50 site browser tests, 1,490 Rust unit tests, all 18 installer tests,progress_lines, and every integration group through site deployment exceptthe_systemd_units_verify: host systemd 252 rejectsRestartModein/usr/lib/systemd/system/snapd.service:23. That test and the checked-in deployment units are unchanged againstmain(f39fdd07). All eight remaining targets passed withcargo test --test spec_push_race --test spec_run --test status --test stop --test toolchain --test trial --test update --test user_config --no-fail-fast(4m17s, cached build). The systemd check was left intact; no diagnostics were suppressed.Merge Danger
Door: two-way
Revert to restore the previous emitted script; no data migration or SELinux policy changes.
Blast Radius: Console
Linux installation scripts now require curl and stop before proxy setup when the Console cannot start or answer locally.
Built with codex · gpt-6.1-sol · high