-
-
Notifications
You must be signed in to change notification settings - Fork 399
Improve MSRV check and fix aria-label in MSRV badge
#2003
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
8 commits
Select commit
Hold shift + click to select a range
6cbc916
Idea for expanded and clarified `ci-check-msrv` recipe doc
EliahKagan af70bfa
Rewrite expanded `ci-check-msrv` doc so `just --list` works
EliahKagan 510847b
Ensure the Windows `check-msrv` job uses the intended toolchain
EliahKagan 4af6ef9
Make the `check-msrv` jobs more robust and documented
EliahKagan f10f18d
Use `--locked` instead of checking `Cargo.lock` afterwards
EliahKagan eaecc9b
Further split `check-msrv` steps; let Windows use `pwsh` again
EliahKagan dc1d271
doc: Fix accessibility bug in MSRV badge
EliahKagan 3a63c68
Actually build `gix` to check MSRV
EliahKagan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know why we have a
check-msrv-on-cirule in theMakefile, equivalent to theci-check-msrvrecipe in thejustfilethat themsrv.ymlworkflow uses. I've expanded the comment only in thejustfile. But I've updated the command in theMakefile, rather than only in thejustfile, so that their behavior can remain equivalent as long as we keep duplicating functionality across both.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for bringing this up. It also seems like this target isn't used at all, so I think it's better to remove it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks. I'll remove it from
Makefilein a subsequent PR.More broadly, I'm not clear on what is supposed to go in the
Makefileand what is supposed to go in thejustfile. Is theMakefilejust left over from before thejustfilewas introduced, such that everything there is there is for historical reasons only? Should its contents be migtated to thejustfile? Or are there reason to prefer that some things be in theMakefileinstead of thejustfile?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's a left-over, and the port to
justfilewas never completed.make stressis still called, and it could be that it leverages the natural parallelism ofmakewhich is harder to do in ajustfile.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, I see. I'll remember to consider the effect on parallelism if and when moving things, especially if they are not already duplicated, from the
Makefileto thejustfile. Thecheck-msrv-on-cirule/target probably doesn't benefit from that, though.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or maybe casey/just#626 will be completed--for example, maybe casey/just#1562 will be picked back up--and then they could all be moved over to the
justfile.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be nice.
My general feeling about
justwas that it was supposed to remain a sequential task runner though, and thus far the community around it didn't feel strongly enough about it to fork and merge in their desired solution. So it's probably nothing more than a wildcard at this point.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just noticed that casey/just#626 has very recently been implemented in casey/just#2803 in the form of a new$Y$ declares recipes $X_1$ , $X_2$ , and $X_3$ as dependencies and $Y$ is marked $Y$ causes $X_1$ , $X_2$ , and $X_3$ in parallel rather than sequentially.
[parallel]attribute. My understanding is that, if a recipe[parallel], then runningjustto runThis is not equivalent to
-jformake. However, at least formake stress, it seems to me that[parallel]does exactly what we want, and that we are currently usingmake -jas a workaround for not having such a feature. Thestressrecipe runs various commands withtime, but the first command it runs is only to set things up for the subsequent commands, and it does not usetime, nor any other shell features.gitoxide/Makefile
Line 98 in c7af04d
That first command runs three other recipes with
$(MAKE) -j3so they run in parallel, and the recipe declares no dependencies. Therefore, conceptually it has the three recipes identified in the first command as dependencies, but it runs them through a command with$(MAKE)instead, to be able to pass-j3.Furthermore, as far as I can tell, while
stressruns various recipes directly and indirectly, this is the only place where-jparallelism is involved. Even if one runsmake -jN stresswith one's chosenN, I don't think one gets greater parallelism, nor do I think greater parallelism is intended when running the stress test.Per casey/just#626 (comment),
[parallel]will be available starting in the next release ofjust. It seems to me that whether this will let us move everything from theMakefileinto thejustfiledepends on how accurate the note at the top of themake helptext is:Assuming that is (still) true, it seems to me that
[parallel]will let us move everything into thejustfile(or, if preferred, a separatejustfile, though I don't think that would be preferred). This is because, at least going by what I see when I inspect the output ofgit grep -Fwn make, the only use ofmakeon CI--looking only at uses that that involve ourMakefile--is to runmake stressincron.yml.I believe there are other indirect implicit uses of
makein building native code dependencies, as occurs when some features of some crates are enabled, and for this reason we do installmakein containers that may not have it, in some other CI jobs. But these would not have anything to do with theMakefilein this project.However, if
make -jNis also being used manually for local operations, possibly explicitly specifying multiple recipes on the command line, then that is a different story. There may also be other relevant subtleties.Although I don't know that we should do it regularly, I think it would be useful to be able to run the stress test on Windows. I expect that eliminating the
Makefilewould ease portability, since various interesting things can happen withMakefiles on Windows. But it may not be necessary.(As an aside,
torvalds/linuxis one of the test repositories used there, and just cloning that on Windows is very slow, even when it is a bare clone. However, since the test uses a bare clone, it should at least be able to run, since the usual problems such as case clashes and conflicts with the reserved DOS device nameAUXshould not apply.)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for sharing!
After reading this I arrive at the same conclusion and can confirm that with
[parallel]ourMakefilewouldn't be needed anymore. I also think it's valuable to not have aMakefilewhenjustwould now do in every way.Thus I very much welcome this transition to happen whenever possible, and whenever you have some time.