Conversation
…sion, and API breakage caching to CI. Add newer Postgres versions to docker-compose.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #634 +/- ##
==========================================
- Coverage 76.75% 76.71% -0.05%
==========================================
Files 135 135
Lines 10391 10391
==========================================
- Hits 7976 7971 -5
- Misses 2415 2420 +5 🚀 New features to boost your workflow:
|
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
356b5e0 to
4fa6b35
Compare
4fa6b35 to
a9ad795
Compare
| permissions: | ||
| contents: write | ||
| if: github.event_name == 'push' | ||
| uses: vapor/ci/.github/workflows/submit-deps.yml@main |
There was a problem hiding this comment.
There was a problem hiding this comment.
cool. but that's only important for leaf packages, isn't it? I assume this works on the Package.resolved, and this can look very different based on the checkout.
There was a problem hiding this comment.
No, it matters for libraries too, it helps Dependabot to determine whether you're affected by security advisories in dependencies. Yes, it's dependent on the most recent versions released at the time the submission job runs, since there's no lockfile in the repo (and yeah there can be platform-specific dependency issues too), but it's still better than nothing at all for the notices about security issues so you can update the minimum requirements in Package.swift. (Also, I believe the tool I'm currently using for dependency detection yields all deps, not just "currently active" ones—it's an SBOM generator, after all. I'll be switching to using the one that's now built into SwiftPM when it's available, which will actually be kind've annoying because that doesn't have a native "Github Dependency Submission API JSON" output mode like the third-party tooling does. 😆)
There was a problem hiding this comment.
Yes, it's dependent on the most recent versions released at the time the submission job runs, since there's no lockfile in the repo (and yeah there can be platform-specific dependency issues too), but it's still better than nothing at all for the notices about security issues so you can update the minimum requirements in
Package.swift
But this means, that for tests we will always pick the latest version, and if there is a security advisory, by definition we will pick the version that has the issue already resolved.
There was a problem hiding this comment.
For tests, yes. But if you don't update the minimums in Package.swift, downstream users can end up with transitive dependencies that don't get updated because of some other requirement in the graph or just because SwiftPM hiccups (I've seen both scenarios in the real world multiple times).
There was a problem hiding this comment.
but that would never be caught here, because Package.resolved is always using the latest and greatest.
Enables Dependabot, adds more CI, and cleans up a couple things.