Repository navigation
ci: run on the oldest supported Rust, in COSMIC's fonts - #1
Merged
Merged
Conversation
The jobs name their toolchain 1.93, which overrides rust-toolchain.toml, but the action installed 1.93.1 with rustfmt and clippy. Rustup then fetched a bare 1.93 for the jobs, so `cargo fmt` was missing and the first run of `ci` failed. Each job now installs 1.93 itself, with the components it needs.
The layout tests measure text in the fonts COSMIC uses, Open Sans and Noto Sans Mono. The runner had neither, and its fallback font is wide enough to wrap "Use Signpost" in the smallest settings window, so one test failed on CI alone.
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.
What was wrong
The first
cirun onmainfailed before it checked anything:cargo-fmtwas not installed for the toolchain the job uses. The job setsRUSTUP_TOOLCHAIN=1.93, so thatrust-toolchain.toml'sstabledoes not apply, butdtolnay/rust-toolchain@1.93installed1.93.1with rustfmt and clippy. Rustup then installed a bare1.93for the job, without those components.With that fixed, one layout test still failed on CI alone. The runner has neither of COSMIC's interface fonts, Open Sans and Noto Sans Mono, and its fallback font wraps "Use Signpost" in the smallest settings window.
What this does
Each job installs
1.93itself withrustup toolchain install. The installed toolchain is then the oneRUSTUP_TOOLCHAINnames, and stays so when 1.93 gets another patch release:validategets rustfmt and clippy, and the release workflow'sdebjob gets the minimal profile it needs to build.The runner installs
fonts-open-sansandfonts-noto-mono, so the layout tests measure text in the fonts libcosmic uses by default and COSMIC ships. The layout code and the test's assertions are unchanged.Verification
mainbeforevalidateon e175fb2cargo-fmtnot installed for1.93validateon 66792a6no_text_is_cut_off_in_the_smallest_window_or_the_opening_one("Use Signpost" wrapped)validateon 24a8c99.debchecks OKdebandflatpakjobs on 24a8c99publishskipped, as it runs on tags onlyRUSTUP_TOOLCHAIN=1.93 just validateon the same treeReproduce
RUSTUP_TOOLCHAIN=1.93 just validatevalidatejob log,rustup toolchain installreports1.93-x86_64-unknown-linux-gnu installed, the toolchainRUSTUP_TOOLCHAINnamesCheck by hand
CI and packaging only: Signpost itself does not change.
Deploy and rollback
Merging changes
.github/workflows/ci.ymland the release workflow'sdebjob, and nothing in the app or in stored data. The release workflow's first real use is thev0.1.0tag. A revert is clean and brings back the failingvalidate.Customer-facing: no