-
Notifications
You must be signed in to change notification settings - Fork 1k
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
Support for Swift package manager #7525
Conversation
4b502b8
to
d699384
Compare
One question for @stevapple (maybe @0xTim knows too?). So, our updater runs under Linux, and since we're running Swift directly, I've encountered a problem where we're adding Linux specific dependencies to some manifests. For example, whenever we find this dependency. Can you think of any workaround? I was thinking we could maybe ask upstream for some feature that allows to resolve under a specific platform, like That said, what I've been able to see from some forum research is that this may be an old hack and not what's recommended right now. Maybe the right way now is conditional dependencies. If that's the case, maybe it's best to let libraries using this old hack fix themselves. |
The only way to deal with such hack is to syntactically parse the file with SwiftSyntax, IIRC. It’s hard and not worth the effort. I would suggest to leave it alone and let the library author fix it. These packages are also not likely to have
I don’t think it’s a big problem… SwiftPM will remove unnecessary packages and add necessary ones during resolution. |
Thanks for the input, that's reassuring! |
Not fully done yet, but happy to get some early feedback here! |
0477599
to
67cde3a
Compare
67cde3a
to
27fa3de
Compare
In order to keep this PR smaller and easier to review, I removed Security Update support and versioning strategies from this initial PR. Will pull those changes later. Unless CI proves me wrong, this should be ready for a review now! |
27fa3de
to
9552a09
Compare
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.
Looks good, maybe we can start some smoke tests too? 👏
Yes, I'll create some smoke tests tomorrow! |
98b7e6d
to
d5d6f56
Compare
Smoke test created at dependabot/smoke-tests#106. My understanding is that we need to merge this and let an initial updater image for Swift be published so that the smoke test can pass. EDIT: And also a new release of https://github.com/dependabot/cli that supports pulling the swift updater. |
d5d6f56
to
abeecd0
Compare
CLI with support for pulling the Swift updater has been released. Once CI is green, I'll deploy this change, and then see if the smoke tests pass. |
Actually I just pushed a small trick to verify smoke tests before merging. |
ffc365d
to
9b1f0c2
Compare
The smoke test is passing now! And it actually detected a real issue! I will next merge the smoke test PR, regenerate smoke tests cache, and then edit this PR to run against the default branch of the smoke tests repo. |
e4aef8e
to
e855a4f
Compare
Co-authored-by: Mattt <mattt@github.com> Co-authored-by: Randall Wood <297232+rhwood@users.noreply.github.com> Co-authored-by: Tim <0xtimc@gmail.com>
e855a4f
to
0c8275f
Compare
…wift-support Support for Swift package manager
This PR implements #1245.
For now just a draft but most of the functionality I intend to ship initially should be already there.