Use Git to manage XDMoD test artifacts #143
Merged
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.
Description
This pull request moves responsibility for retrieval of
xdmod-test-artifacts
from Composer to the scripts that use it.Motivation and Context
Copying/paraphrasing from an email exchange between @smgallo, @jpwhite4, and I:
Composer's design is built around pulling in runtime and development software packages in a consistent, well-considered manner, and the lock file's use of hashes for both individual dependencies and the contents of the lock file is meant to help guard against changes that haven't been tested. For example, if two pull requests both change the lock file and one gets merged, the other will be in conflict with the target branch due to the lock file's content hash being changed by both pull requests. As part of resolving the conflict, the outstanding pull request's lock file will need to be regenerated to include the changes from the other, which in so doing will (partially) validate the combined changes.
Having developers run commands that modify the lock file as part of the testing procedure leads to more work and more opportunities for accidentally pushing bad changes to the lock file. What this pull request does instead is have the scripts that use the test artifacts repo pull in the latest version of the repo with plain Git at run time. This means no updates to run manually and no files in the code repos to tweak and accidentally break when adding to the artifacts.
Tests Performed
Ran a test run of Travis on my fork and ran the unit tests manually on my local system.
Checklist:
I have added tests to cover my changes.