Restructure validation workflow#6
Merged
jsoref merged 2 commits intodhall-validator:mainfrom Feb 26, 2025
Merged
Conversation
cb2dcda to
5cba0bc
Compare
drozd-A
approved these changes
Feb 26, 2025
Because of the way yaml works, it's quite easy to end up with an empty line, but that doesn't actually represent a file, and as such it should be ignored...
5cba0bc to
7f759b1
Compare
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.
The
validateworkflow needs to do three things:dhall-filesinput), validation fails (❌)dhall-file-listinput), validation fails (❌)Ideally, it does this in a manner that doesn't confuse people into thinking that a commit to the default branch is "broken". Unfortunately, negative testing is pretty confusing.
Previously, negative testing was done by setting
continue-on-error: trueat the job level, but that resulted in ❌s being shown on the commit.This PR changes the logic so that only the
uses: ./step hascontinue-on-error: true.Each job is given two outputs:
validated:(the result of that step) andexpected:(with the expected outcome for that step).The check results job then collects all the results and compares them with their expected results. Because we can, it produces a pretty table.
Note that I intend to give the action itself pretty reporting at some time too, but that's outside the scope of this PR.