Repository navigation
Put the release gate in front of the legacy banner, and fail a push when a fixture is BLOCKED - #166
Merged
Merged
Conversation
The banner said nothing under it could be run, and the release-gate commands sat under it. The parent pom still described the old originality engine.
An approval with the same SHA-256 was listed in changedPaths. Push CI runs ReleaseGateCli on the screenshot fixtures. A BLOCKED result on the passing fixture fails the push, and the blocked fixture must exit 2.
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
The GitHub description now says Java 24. The parent pom describes the release-preflight tool. The release-gate commands sit above the legacy gallery history, and that banner no longer says the rest of the file cannot be run.
changedPathscompares SHA-256. An approval on the same hash is not a content change. The test that kept the hash and expectedart/hero.pnginchangedPathsnow expects an empty list.Push CI runs
ReleaseGateClion the two screenshot fixtures in.github/fixtures/release-gate/. The passing fixture must exit 0, so a BLOCKED result fails the push. The blocked fixture must exit 2. If the gate accepts it, the push fails. The dispatch workflow stays manual and defaults to the passing fixture.The description change is already on the repo, from
gh repo edit. It is not in this diff.Tests
Local JDK is 26, because
JAVA_HOMEpoints at Temurin 21 and that JDK cannot compile--release 24. CI uses Temurin 24.BUILD SUCCESS.
ReleaseExportServiceTestis in that desktop run: 12 tests, 0 failures.The same CLI the workflow runs, with a Windows classpath separator:
Exit 0.
Exit 2.
Paradigm
Paradigm:
ReleaseExportServicestays an OOP interaction service. It owns one SQLite transaction and the repositories.fileBytesChangedis an FP calculation: the same two asset records always return the same boolean, and it has no effect.Changed:
changedPathslists a path only when the SHA-256 differs. Push CI runs the release gate on the two fixtures.Rules applied: DES-05, one predicate and no new type. FP-01 and FP-02, the hash check is a calculation called from
compare. TST-01,ReleaseExportServiceTestplus the core and desktop suites. API-03,changedPathsmeans the file bytes.Verified:
mvn -B -pl desktop -am teston JDK 26. Core 128 tests, 1 skipped, 0 failures. Desktop 203 tests, 0 failures. Passing fixture exit 0. Blocked fixture exit 2.Unverified: GitHub Actions has not run on this branch yet. Frontend tests were not run.
Deviations: none.