Skip to content

compatibility checking #2857

compatibility checking

compatibility checking #2857

Workflow file for this run

name: CI
on:
workflow_dispatch: {}
push:
branches:
- master
- beta
- sdk-release/**
- feature/**
tags:
- v[0-9]+.[0-9]+.[0-9]+*
pull_request:
branches:
- master
- beta
- sdk-release/**
- feature/**
jobs:
# build:
# name: Build
#
# runs-on: ubuntu-latest
#
# steps:
# - uses: actions/checkout@master
#
# - name: Setup Java
# id: setup-jre
# uses: actions/setup-java@v1
# with:
# java-version: "17" # always use 17 LTS for building
# architecture: x64
#
# - name: Set Test Java Runtime Environment variable
# run: echo "JAVA_TEST_HOME=${{ steps.setup-jre.outputs.path }}" >> $GITHUB_ENV
#
# - name: Spotless
# run: ./gradlew spotlessCheck
#
# - name: Build artifacts
# run: ./gradlew assemble javadoc
#
# test:
# name: Test
#
# runs-on: ubuntu-latest
#
# strategy:
# fail-fast: false
# matrix:
# java-version:
# - "1.8"
# - "11"
# - "17"
# - "18"
# - "19"
# - "20"
#
# steps:
# - uses: actions/checkout@master
#
# - name: Setup Test Java Runtime
# id: setup-test-jre
# uses: actions/setup-java@v1
# with:
# java-version: ${{ matrix.java-version }}
# architecture: x64
#
# - name: Set Test Java Runtime Environment variable
# run: echo "JAVA_TEST_HOME=${{ steps.setup-test-jre.outputs.path }}" >> $GITHUB_ENV
#
# - name: Setup Java
# uses: actions/setup-java@v1
# with:
# java-version: "17" # always use 17 LTS for building
# architecture: x64
#
# - name: Tweak gradle.properties for Java 1.8
# if: ${{ matrix.java-version == '1.8' }}
# run: sed -e '/--add-exports/ s/^#*/#/' -i gradle.properties
#
# - name: Display version
# run: |
# ./gradlew --version
# echo "JAVA_TEST_HOME=$JAVA_TEST_HOME"
#
# - uses: stripe/openapi/actions/stripe-mock@master
# - name: Run test suite
# run: make ci-test
#
# - name: Send code coverage report to coveralls.io
# run: ./gradlew jacocoTestReport coveralls
# if: env.COVERALLS_REPO_TOKEN && matrix.java-version == '17'
# env:
# CI_NAME: github-actions
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
#
# publish:
# if: >-
# ((github.event_name == 'workflow_dispatch') || (github.event_name == 'push')) &&
# startsWith(github.ref, 'refs/tags/v') &&
# endsWith(github.actor, '-stripe')
# needs: [build, test]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@master
# - name: Setup Java
# id: setup-jre
# uses: actions/setup-java@v1
# with:
# java-version: "17" # always use 17 LTS for building
# architecture: x64
# - name: Set Test Java Runtime Environment variable
# run: echo "JAVA_TEST_HOME=${{ steps.setup-jre.outputs.path }}" >> $GITHUB_ENV
#
# - name: Configure GPG Key
# run: |
# set -ex
# echo $GPG_SIGNING_PRIVKEY | base64 --decode | gpg --import --batch --yes --pinentry-mode loopback --passphrase "$GPG_SIGNING_PASSPHRASE"
# env:
# GPG_SIGNING_PRIVKEY: ${{ secrets.GPG_SIGNING_PRIVKEY }}
# GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
#
# - name: Publish package
# run: |
# ./gradlew publishToSonatype closeAndReleaseSonatypeStagingRepository -Dorg.gradle.project.NEXUS_USERNAME=$NEXUS_USERNAME -Dorg.gradle.project.NEXUS_PASSWORD=$NEXUS_PASSWORD -Dorg.gradle.project.signing.gnupg.keyName=$GPG_SIGNING_KEYID -Dorg.gradle.project.signing.gnupg.passphrase=$GPG_SIGNING_PASSPHRASE
# env:
# NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
# NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
# GPG_SIGNING_KEYID: ${{ secrets.GPG_SIGNING_KEYID }}
# GPG_SIGNING_PASSPHRASE: ${{ secrets.GPG_SIGNING_PASSPHRASE }}
# - uses: stripe/openapi/actions/notify-release@master
# if: always()
# with:
# bot_token: ${{ secrets.SLACK_BOT_TOKEN }}
#
# publish-docs:
# if: >-
# ((github.event_name == 'workflow_dispatch') || (github.event_name == 'push')) &&
# startsWith(github.ref, 'refs/tags/v') &&
# !contains(github.ref, 'beta') &&
# endsWith(github.actor, '-stripe')
# needs: [build, test]
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@master
# - name: Setup Java
# id: setup-jre
# uses: actions/setup-java@v1
# with:
# java-version: "17" # always use 17 TLS for building
# architecture: x64
# - name: Set Test Java Runtime Environment variable
# run: echo "JAVA_TEST_HOME=${{ steps.setup-jre.outputs.path }}" >> $GITHUB_ENV
#
# - name: Publish Javadoc
# run: |
# ./gradlew gitPublishPush --stacktrace --info
# env:
# GRGIT_USER: ${{ github.actor }}
# GRGIT_PASS: ${{ secrets.GITHUB_TOKEN }}
compat:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Setup Java
id: setup-jre
uses: actions/setup-java@v1
with:
java-version: "17" # always use 17 TLS for building
architecture: x64
- name: Set Test Java Runtime Environment variable
run: echo "JAVA_TEST_HOME=${{ steps.setup-jre.outputs.path }}" >> $GITHUB_ENV
- name: Clone japi-compliance-checker
run: |
git clone https://github.com/lvc/japi-compliance-checker
- name: Build HEAD JAR file
run: ./gradlew jar
- name: Copy JAR to japi-compliance-checker
run: |
mv build/libs/*.jar japi-compliance-checker/new.jar
- name: Checkout base branch
uses: actions/checkout@v2
with:
ref: ${{ github.event.pull_request.base.sha }}
- name: Build Base JAR file
run: ./gradlew jar
- name: Copy JAR to japi-compliance-checker
run: |
mv build/libs/*.jar japi-compliance-checker/old.jar
- name: Run JAPI Compliance Checker
run: |
cd japi-compliance-checker
perl japi-compliance-checker.pl -old old.jar -new new.jar -report report.html
- name: Upload report as artifact
uses: actions/upload-artifact@v2
with:
name: JAPI Compliance Report
path: japi-compliance-checker/report.html