Skip to content

Add GitHub workflow for integration tests on multiple Java versions - #1381

Draft
ZPascal wants to merge 1 commit into
cloudfoundry:mainfrom
ZPascal:gh-integration-test-matrix
Draft

ZPascal wants to merge 1 commit into
cloudfoundry:mainfrom
ZPascal:gh-integration-test-matrix

Conversation

@ZPascal

@ZPascal ZPascal commented Oct 3, 2026 •

Copy link
Copy Markdown

Adds a GitHub Actions workflow that runs the integration tests on Java 8, 11, 17 and 21. It's preparation for moving the release pipeline from Concourse to GitHub Actions, so the test step does what the Concourse integration-test task does: integration-test profile, TEST_SKIPSSLVALIDATION=true, TEST_QUOTAS_ROUTES_RESERVEDPORTS=50.

There's no shared CF environment. Each job starts its own Cloud Foundry on KinD (kind-deployment), so no secrets and no Shepherd lease are needed, and the matrix jobs can run in parallel.

  • Triggers are manual dispatch (optional list of Java versions) and a weekday schedule. Not on pull requests, a full CF deployment per job is too slow for that.
  • The tests use api.cf.127-0-0-1.nip.io, user ccadmin and the admin UAA client. The passwords are the CC_ADMIN_PASSWORD and UAA_ADMIN_SECRET values that the setup exports.
  • Dependencies come from Maven Central like in ci-java.yml, not from the Broadcom Artifactory mirror.
  • I copied the steps of the setup-cf action into the workflow and pinned kind-deployment to a commit, instead of using the action. The action always checks out kind-deployment main, and since cloud-provider-kind 0.12.0 (Update registry.k8s.io/cloud-provider-kind/cloud-controller-manager Docker tag to v0.12.0 kind-deployment#511) the gateway isn't reachable on 127.0.0.1:443, so make login fails. fix: Revert cloud-provider-kind to v0.11.1 kind-deployment#512 reverts that bump, and Add ref input to setup-cf action kind-deployment#513 adds a ref input so the action can be pinned by commit. After both are in, this can become a plain uses: with a SHA.
  • There's also a step that dumps the KinD state if the setup fails. It can go once the action is used again.

Setup and login work in a manual run (Java 8, 11, 17, 21). The tests don't pass yet: 903 ran, 79 failed, 355 errored, in about 17 minutes. Two causes in the log:

  • CF-AppBitsUploadInvalid(160001): missing :resources when the test config pushes apps (testLogCacheApp, serviceBrokerId). This takes out whole classes like both ServiceInstancesTest classes and BlobstoresTest.
  • JsonParsingException: Found unexpected property suspended for SpaceResource, which breaks RoutesTest, TasksTest and others.

Both look like the client being behind the CAPI version in the KinD deployment. That's a separate topic, so the workflow goes in as a base, and these failures are known.

@ZPascal
ZPascal force-pushed the gh-integration-test-matrix branch 3 times, most recently from 615240c to 4ca27c7 Compare October 3, 2026 20:57
@ZPascal
ZPascal force-pushed the gh-integration-test-matrix branch from 4ca27c7 to ce9223f Compare October 3, 2026 21:00

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant