Skip to content

Commit 58cb0fa

Browse files
committed
chore: dependency-submission: skip test scope
Currently, dependency-submission would submit all dependencies to https://github.com/apache/pekko/security/dependabot , including test dependencies. We then added explicit dependencies to the build to squash warnings about outdated test dependencies (#1181, #1313 and #1344). With version 3, sbt-dependency-submission now supports ignoring scopes. This PR proposes to ignore the test scope, and remove the explicit dependencies from the build. Of course, we want our developers to be secure as much as our users. From that perspective you could say we'd want to remove 'insecure' dependencies even from the test scope. In practice, however, I think it's really unlikely that a vulnerability in a test scope dependency would lead to a realistic attack on a developer. For that reason, I think ignoring this scope for dependency-submission and keeping the old dependencies in the build removes some development friction, which balances out the risk of testing with outdated dependencies. If there'd be a 'malicious' dependency out there, I expect we'd learn about it through other channels.
1 parent ce3620f commit 58cb0fa

File tree

2 files changed

+3
-13
lines changed

2 files changed

+3
-13
lines changed

.github/workflows/dependency-graph.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,3 +37,5 @@ jobs:
3737
- name: Install sbt
3838
uses: sbt/setup-sbt@v1
3939
- uses: scalacenter/sbt-dependency-submission@v3
40+
with:
41+
configs-ignore: optional test compile-internal

project/Dependencies.scala

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ object Dependencies {
3434
// needs to be inline with the aeron version, check
3535
// https://github.com/real-logic/aeron/blob/1.x.y/build.gradle
3636
val agronaVersion = "1.22.0"
37-
val bouncyCastleVersion = "1.79"
3837
val nettyVersion = "4.1.116.Final"
3938
val logbackVersion = "1.3.14"
4039

@@ -120,13 +119,8 @@ object Dependencies {
120119
}
121120

122121
object TestDependencies {
123-
val bcprov = "org.bouncycastle" % "bcprov-jdk18on" % bouncyCastleVersion % Test
124-
val bcpkix = "org.bouncycastle" % "bcpkix-jdk18on" % bouncyCastleVersion % Test
125-
val bcutil = "org.bouncycastle" % "bcutil-jdk18on" % bouncyCastleVersion % Test
126122
val commonsIo = "commons-io" % "commons-io" % "2.18.0" % Test
127123
val commonsCodec = "commons-codec" % "commons-codec" % "1.17.1" % Test
128-
val commonsCompress = "org.apache.commons" % "commons-compress" % "1.27.1" % Test
129-
val guava = "com.google.guava" % "guava" % "33.4.0-jre" % Test
130124
val junit = "junit" % "junit" % junitVersion % Test
131125
val junit5 = "org.junit.jupiter" % "junit-jupiter-engine" % junit5Version % Test
132126
val httpClient = "org.apache.httpcomponents" % "httpclient" % "4.5.14" % Test
@@ -155,16 +149,10 @@ object Dependencies {
155149
// in-memory filesystem for file related tests
156150
val jimfs = "com.google.jimfs" % "jimfs" % "1.3.0" % Test
157151

158-
// the extra dependency overrides for bcprov, commonsCompress and guava should be reviewed - https://github.com/apache/pekko/issues/1317
159152
val dockerClientVersion = "3.4.1"
160153
val dockerClient = Seq(
161154
"com.github.docker-java" % "docker-java-core" % dockerClientVersion % Test,
162-
"com.github.docker-java" % "docker-java-transport-httpclient5" % dockerClientVersion % Test,
163-
TestDependencies.bcprov,
164-
TestDependencies.bcpkix,
165-
TestDependencies.bcutil,
166-
TestDependencies.commonsCompress,
167-
TestDependencies.guava)
155+
"com.github.docker-java" % "docker-java-transport-httpclient5" % dockerClientVersion % Test)
168156

169157
val jackson = Seq(
170158
jacksonCore % Test,

0 commit comments

Comments
 (0)