Skip to content

Integration Tests

Integration Tests #5

name: Integration Tests
on:
workflow_dispatch:
inputs:
java-versions:
description: 'JSON array of Java versions to test'
required: false
default: '[8, 11, 17, 21]'
schedule:
- cron: '0 3 * * 1-5'
jobs:
integration-test:
runs-on: ubuntu-latest
timeout-minutes: 120
strategy:
fail-fast: false
matrix:
java: ${{ fromJSON(inputs.java-versions || '[8, 11, 17, 21]') }}
name: Java ${{ matrix.java }} integration test
steps:
- uses: actions/checkout@v4
- name: Prepare multi-module build
run: git submodule update --init --recursive
# Every job gets its own Cloud Foundry on KinD, so the matrix can run in parallel.
- name: Set up Cloud Foundry
uses: cloudfoundry/kind-deployment/.github/actions/setup-cf@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Java
uses: actions/setup-java@v3
with:
distribution: liberica
java-version: ${{ matrix.java }}
- name: Cache Maven packages
uses: actions/cache@v3
with:
path: ~/.m2
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
restore-keys: ${{ runner.os }}-m2
- name: Run integration tests
# CC_ADMIN_PASSWORD and UAA_ADMIN_SECRET are exported by setup-cf
env:
TEST_APIHOST: api.cf.127-0-0-1.nip.io
TEST_ADMIN_USERNAME: ccadmin
TEST_ADMIN_PASSWORD: ${{ env.CC_ADMIN_PASSWORD }}
TEST_ADMIN_CLIENTID: admin
TEST_ADMIN_CLIENTSECRET: ${{ env.UAA_ADMIN_SECRET }}
TEST_SKIPSSLVALIDATION: 'true'
TEST_QUOTAS_ROUTES_RESERVEDPORTS: '50'
run: ./mvnw -B -Pintegration-test test -Dgpg.skip