name: Build and test on: push: branches: [ main ] paths: - 'src/**' - '*.xml' pull_request: branches: [ main ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: 11 - name: Cache maven repository uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Build run: mvn -B clean package --file pom.xml - name: Integration test run: mvn -B failsafe:integration-test failsafe:verify --file pom.xml compatibility: runs-on: ubuntu-latest strategy: fail-fast: false matrix: keycloak_version: [ 13.0.1, 14.0.0, 15.0.2, 15.1.1, 16.0.0, latest ] keycloak_dist: [keycloak, keycloak-x] steps: - uses: actions/checkout@v2 - name: Set up JDK 11 uses: actions/setup-java@v2 with: distribution: 'adopt' java-version: 11 - name: Cache maven repository uses: actions/cache@v2 with: path: ~/.m2/repository key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} restore-keys: | ${{ runner.os }}-maven- - name: Compatibility tests run: mvn -B -U clean test-compile failsafe:integration-test failsafe:verify --file pom.xml -Dkeycloak.version=${{ matrix.keycloak_version }} -Dkeycloak.dist=${{ matrix.keycloak_dist }}