forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Add contrib/subtree
test execution to CI builds
#3349
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
2 commits
Select commit
Hold shift + click to select a range
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
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.
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.
Is this just a bug in the existing makefile? Did
make -C contrib/subtree test
just not work before?This might be a good one-liner to send upstream, even if we don't choose to do the rest of the change. I would split them into two commits, first this change, then the changes to
ci/
.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 think the idea here is that
all
defaults to runningDEFAULT_TEST_TARGET
, which is set toprove
in the CI runs. Andtest
is a different target.An alternative I briefly considered was to call
make
twice: once to "build"git-subtree
, and then the test run. But that would be rather ugly because the tests require thegit-subtree
file to be copied to../..
, which thetest
target does, thanks to the prerequisite$(GIT_SUBTREE_TEST)
.In short: I concur with @derrickstolee that it would be best to split out the change to the
Makefile
, and the commit message should probably mention that we're aligning with how Git's top-levelMakefile
defines its owntest
target (it also calls$(MAKE) -C t/ all
, and then also mention that we want to be able to call thismake
target incontrib/subtree
in the CI runs, whereDEFAULT_TEST_TARGET
is defined asprove
.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.
Sounds good! Depending on whether you'd like me to make the change or not, should changing the use of
pre-clean
be part of the same commit, or a separate one?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 can definitely be not only a separate commit, but an independent patch series. And nothing about that patch series would be urgent: since we lost Azure Pipelines' powerful analysis/statistics/UI for tests (see e.g. here), we do not actually care about the full test results to be maintained. We are only interested in them if anything fails. And since we only run the
subtree
tests if Git's own test suite passed, that desire is still addressed.However, should we ever decide to always run the
subtree
tests (even if Git's test suite failed, in which we obviously would still want to fail the test, i.e. record the exit status indicating failure in some way), we would definitely need to get rid of the automaticpre-clean
dependency.For now, though, there is no point in holding this PR up, I think. It would be good to have it in
-rc2
(I would probably reorder thepick
s and themerge
somewhat, so that theMerge 'readme'
commit still comes on top).