-
Notifications
You must be signed in to change notification settings - Fork 475
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
Make sure CI builds test latest versions of dependencies #570
Conversation
@cjbarth That looks good to me 👍 |
Her, actually, 2 comments:
|
Basically, we have three choices:
If we use 3, then we can't get reproducible builds from a tag. I'm not sure if that is what we're after. |
One option would be to remove the file from Git and for the CI to publish the generated Note that I don't know GH CI at all, so I don't really know what's possible/convenient. |
I think it is better not to remove it. We can add one more test |
That works too indeed, but note that you would need something like Another option is to do the extra test with |
I'm in favor of keeping a lock file for consistent and reproducible results everywhere. I think I'm most aligned with the shrinkwrap option. I use Yarn and yarn.lock in my own projects and do commit and version the file. |
It appears that we need to do something. The lockfile being the way it is allows for the tests to run and pass. However, if I delete
|
@markstos My understanding is that yarn.lock works similarly to npm's package-lock.json and is ignored for non "top level" package (so the argument of making sure the tests passes without still holds) I think shrinkwrap is more or less deprecated, basically since yarn was launched, as their main "innovation" at the time was precisely to ignore shrinkwraps files for libraries if I remember correctly. |
@cjbarth It was just a tiny problem https://github.com/node-saml/passport-saml/pull/572/files It works with recent packages after that |
@forty That sounds right. I used shrinkwrap files years ago and there were many problems which is why we switched to Yarn. |
package-lock.json
for CI builds
Looks good to me 👍 |
This will prevent the CI builds from relying on
package-lock.json
. The only question that I have is about includingpackage-lock.json
in commits. I think we should keep it so that we can rebuilt exact artifacts at tags, but, OTOH, we might want to avoid using it because it would mask stuff that appears when doing development. I favored the rebuilding artifacts argument in this PR, but am open to discussion.