b777ae5216
Disables the download transfer progress which is shown when Maven downloads (or uploads) artifacts which are not available in the local repository. This download progress can be quite verbose and is normally not that relevant.
51 lines
1.7 KiB
YAML
51 lines
1.7 KiB
YAML
name: Check API compatibility
|
|
|
|
on: pull_request
|
|
|
|
jobs:
|
|
check-api-compatibility:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout old version
|
|
uses: actions/checkout@v3
|
|
with:
|
|
ref: ${{ github.event.pull_request.base.sha }}
|
|
path: 'gson-old-japicmp'
|
|
|
|
- name: Set up JDK 11
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: 'temurin'
|
|
java-version: '11'
|
|
cache: 'maven'
|
|
|
|
- name: Build old version
|
|
run: |
|
|
cd gson-old-japicmp
|
|
# Set dummy version
|
|
mvn --batch-mode --no-transfer-progress org.codehaus.mojo:versions-maven-plugin:2.11.0:set -DnewVersion=JAPICMP-OLD
|
|
# Install artifacts with dummy version in local repository; used later by Maven plugin for comparison
|
|
mvn --batch-mode --no-transfer-progress install -DskipTests
|
|
|
|
- name: Checkout new version
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Check API compatibility
|
|
id: check-compatibility
|
|
run: |
|
|
mvn --batch-mode --fail-at-end --no-transfer-progress package japicmp:cmp -DskipTests
|
|
|
|
- name: Upload API differences artifacts
|
|
uses: actions/upload-artifact@v3
|
|
# Run on workflow success (in that case differences report might include added methods and classes)
|
|
# or when API compatibility check failed
|
|
if: success() || ( failure() && steps.check-compatibility.outcome == 'failure' )
|
|
with:
|
|
name: api-differences
|
|
path: |
|
|
**/japicmp/default-cli.html
|
|
**/japicmp/default-cli.diff
|
|
# Plugin should always have created report files (though they might be empty)
|
|
if-no-files-found: error
|