This is a workflow to test a list of packages when you make a pull request, so you know if the changes you're making so this package break the packages that depend on it. When the tests are done, you'll receive a comment on the PR like this:
Don't worry about Revise.jl being broken there, it's just an example.
- Use this workflow on your most core packages to test your dependent packages.
- This workflow should work even if the pull request is from outside the repo.
- The GitHub action shouldn't fail even if the package breaks something. Instead, the badge will be . See PR#2 for example.
- Both
latest
andstable
work similarly: download the package,dev
the PR, andtest
the package. - The
latest
test will clone the package using the full url. So the default branch of the repository is used. - The
stable
test will clone the package and checkout the latest tag. It won't usepkg> add
to preventPkg
from resolving conflicts. - It should work on any branch because it's activate by a pull-request.
CommentPR.yml
can't be modified during the pull request, i.e., changes to it won't be in effect until after the PR is merged.Breakage.yml
can be modified, you can change the packages onBreakage.yml
, make a pull request, and see the new version in action (Example).- It only works on Julia packages, because it will
dev
into it. That's why this is a julia package. - This is failing on Revise by design, because it becomes a circular dependency.
- Copy the files in
.github/workflows
. - Modify
Breakage.yml
adding the packages you want tested.
- NLPModels.jl and other packages of JuliaSmoothOptimizers.
Add your package to the bottom of the list by sending a PR.
- The badge url should point directly to the Job, ideally to the test, better yet to the last line of the test action.