diff --git a/.github/workflows/api-compat.yml b/.github/workflows/api-compat.yml new file mode 100644 index 00000000..559e473e --- /dev/null +++ b/.github/workflows/api-compat.yml @@ -0,0 +1,19 @@ +name: API Compatibility Check +on: + pull_request: +permissions: + contents: read +jobs: + api-compat: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + persist-credentials: false + - uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0 + with: + distribution: zulu + java-version: 17 + cache: maven + - name: Check API Compatibility + run: mvn verify -P api-compat -DskipTests -Dgpg.skip=true diff --git a/pom.xml b/pom.xml index 3a516045..4fc2c3f2 100644 --- a/pom.xml +++ b/pom.xml @@ -305,4 +305,48 @@ https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + + api-compat + + + + com.github.siom79.japicmp + japicmp-maven-plugin + 0.25.1 + + + + ${project.groupId} + ${project.artifactId} + RELEASE + jar + + + + + ${project.build.directory}/${project.artifactId}-${project.version}.jar + + + + public + true + false + true + + + + + verify + + cmp + + + + + + + +