Repository navigation
Login reuse follow-ups: real reek in CI, deterministic cache spec, README placement, shared restore lock - #171
Merged
Merged
Conversation
…ings Bare `reek` reads stdin when there is no terminal, so the CI and release steps checked nothing. Rename the sha256 parameters, read the template error attributes through their readers, and baseline the two design-level warnings in .reek.yml.
The timing comparison failed under load and, when it failed, left test_cache_1/2 behind, which then broke whole-repo rubocop and reek.
… nesting under it
…wait on each other Only a real login takes the exclusive lock. Upgrading from shared to exclusive releases the shared lock first, so a worker that gets the exclusive lock after another worker saved restores that login instead of logging in again.
…e per real fallback Windows does not upgrade a held shared lock in place, so unlock first. Warnings now wait for the outcome: a peer's save can still rescue a failed restore, and only a path that really logs in prints its one warning. The peer-save check compares inode, mtime and size.
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.
Four follow-ups to login reuse (#170), as approved. There's no version bump and no release.
P1: deterministic template-cache spec
end_to_end_spec.rb's wall-clock comparison failed under load. When it failed it also lefttest_cache_1/2behind, which then broke whole-repo RuboCop and reek. The spec now countsPartialCache#compile_templatecalls: the first generation compiles more than zero partials and the second compiles none. Cleanup runs inensure.The spec fails when the cache lookup is disabled: expected 0, got 8.
P2: reek actually runs in CI and the release
release.ymlandreek.ymlran a barereek. With no terminal attached, reek reads standard input, so it checked nothing. On master,bundle exec reek < /dev/nullexits 0 whilebundle exec reek .exits 2. So the "Reek clean" results for the 3.10.0 and 3.11.0 releases were vacuous.Both workflows now run
bundle exec reek .. Master had nine warnings:sha256parameters are renamed todigest, and the template error subclasses use their attribute readers..reek.yml, each with a reason:RubyRaider::FfmpegTooManyConstants, andScaffoldingCommandsMissingSafeMethod for the Thor guardvalidate_project!.P3: README placement
In generated web READMEs, "Reusing the login" now sits before "Reporting". The existing
### Sponsorsheading therefore no longer nests under it. Mobile READMEs are byte-identical.P4: shared lock for restores in the generated
SessionStatevalid:happen under a sharedflock, so parallel workers restore at the same time.[login_state]warning. A restore rescued by a peer's save prints none.raider_planningspec's "Parallel runs" section is updated to match.Checks
spec/generators: 79 examples, 0 failures.spec/integration --tag ~slow: 1464 examples, 0 failures.rubocopexits 0, andbundle exec reek .exits 0.helpers/session_state.rb.