Skip to content

Commit ecb82fd

Browse files
[Security] Harden supply chain dependencies (#20)
1 parent bd1d6ee commit ecb82fd

7 files changed

Lines changed: 55 additions & 7 deletions

File tree

.github/workflows/dd-javac-plugin-tests.yaml

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,19 @@ on:
1010
workflow_dispatch:
1111

1212
jobs:
13+
validate-wrapper:
14+
name: validate-gradle-wrapper
15+
runs-on: ubuntu-latest
16+
steps:
17+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
18+
- uses: gradle/actions/wrapper-validation@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3
19+
1320
run-tests-jdk-8:
1421
name: run-unit-tests-jdk-8
1522
runs-on: ubuntu-latest
1623

1724
steps:
18-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
25+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
1926
- name: Set up JDK
2027
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
2128
with:
@@ -31,7 +38,7 @@ jobs:
3138
runs-on: ubuntu-latest
3239

3340
steps:
34-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
41+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
3542
- name: Set up JDK
3643
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
3744
with:
@@ -47,7 +54,7 @@ jobs:
4754
runs-on: ubuntu-latest
4855

4956
steps:
50-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
57+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
5158
- name: Set up JDK
5259
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
5360
with:
@@ -64,7 +71,7 @@ jobs:
6471
runs-on: ubuntu-latest
6572

6673
steps:
67-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
74+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
6875
- name: Set up JDK
6976
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
7077
with:
@@ -81,7 +88,7 @@ jobs:
8188
runs-on: ubuntu-latest
8289

8390
steps:
84-
- uses: actions/checkout@ee0669bd1cc54295c223e0bb666b733df41de1c5 # v2.7.0
91+
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1
8592
- name: Set up JDK
8693
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0
8794
with:

.github/workflows/release.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ jobs:
1818
8
1919
11
2020
distribution: "adopt"
21+
- name: Validate Gradle Wrapper
22+
uses: gradle/actions/wrapper-validation@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3
2123
- name: Setup Gradle
22-
uses: gradle/actions/setup-gradle@48b5f213c81028ace310571dc5ec0fbbca0b2947 # v4
24+
uses: gradle/actions/setup-gradle@ed408507eac070d1f99cc633dbcf757c94c7933a # v4.4.3
2325
- name: Build with Gradle
2426
run: ./gradlew shadowJar
2527
- name: Release

.gitlab-ci.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ deploy_to_sonatype:
1717
tags:
1818
- "docker-in-docker:amd64"
1919

20+
# TODO: openjdk:8 is deprecated and has been removed from Docker Hub.
21+
# This image should be replaced (e.g. with eclipse-temurin:11-jdk)
22+
# and pinned to a sha256 digest as part of the release process refactor.
2023
image: openjdk:8
2124

2225
script:

build.gradle

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ allprojects {
1414
apply plugin: "maven-publish"
1515
apply plugin: "signing"
1616

17+
dependencyLocking {
18+
lockAllConfigurations()
19+
}
20+
1721
java {
1822
withJavadocJar()
1923
withSourcesJar()
@@ -24,7 +28,11 @@ allprojects {
2428
}
2529

2630
repositories {
27-
mavenLocal()
31+
mavenLocal {
32+
content {
33+
includeVersionByRegex(".*", ".*", ".*-SNAPSHOT")
34+
}
35+
}
2836
mavenCentral()
2937
gradlePluginPortal()
3038
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
5+
org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath
6+
org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath
7+
org.junit.platform:junit-platform-commons:1.9.2=testCompileClasspath,testRuntimeClasspath
8+
org.junit.platform:junit-platform-engine:1.9.2=testRuntimeClasspath
9+
org.junit:junit-bom:5.9.2=testCompileClasspath,testRuntimeClasspath
10+
org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath
11+
empty=annotationProcessor,compileClasspath,runtimeClasspath,testAnnotationProcessor

gradle.lockfile

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# This is a Gradle generated file for dependency locking.
2+
# Manual edits can break the build and are not advised.
3+
# This file is expected to be part of source control.
4+
commons-io:commons-io:2.14.0=testCompileClasspath,testRuntimeClasspath
5+
io.github.toolfactory:jvm-driver:9.8.0=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
6+
org.apiguardian:apiguardian-api:1.1.2=testCompileClasspath
7+
org.burningwave:core:12.66.2=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
8+
org.burningwave:jvm-driver:8.19.1=compileClasspath,runtimeClasspath,testCompileClasspath,testRuntimeClasspath
9+
org.junit.jupiter:junit-jupiter-api:5.9.2=testCompileClasspath,testRuntimeClasspath
10+
org.junit.jupiter:junit-jupiter-engine:5.9.2=testRuntimeClasspath
11+
org.junit.jupiter:junit-jupiter-params:5.9.2=testCompileClasspath,testRuntimeClasspath
12+
org.junit.platform:junit-platform-commons:1.9.2=testCompileClasspath,testRuntimeClasspath
13+
org.junit.platform:junit-platform-engine:1.9.2=testRuntimeClasspath
14+
org.junit:junit-bom:5.9.2=testCompileClasspath,testRuntimeClasspath
15+
org.opentest4j:opentest4j:1.2.0=testCompileClasspath,testRuntimeClasspath
16+
empty=annotationProcessor,java11AnnotationProcessor,java11CompileClasspath,java11RuntimeClasspath,shadow,testAnnotationProcessor
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
33
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-bin.zip
4+
distributionSha256Sum=7197a12f450794931532469d4ff21a59ea2c1cd59a3ec3f89c035c3c420a6999
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists

0 commit comments

Comments
 (0)