Folder openshift-ci
in this repo contains files, required for OpenShift CI.
It allows us to verify, that Quarkus works on a new version of Openshift.
The tests are run regularly (every Monday and the time of writing). Test execution is based on configs: [1],[2].
During the run CI takes the Dockerfile from openshift-ci
folder, builds an image from it and runs tests from Quarkus TS modules defined by $PROJECTS
variable.
Results are posted into quarkus-qe channel in Slack and new issue in QQE Jira is created automatically for every failure. Job history can be accessed from the Prow Dashboard or via dashboard.
Due to the nature of tests, only the released bits are used. These are pulled directly from the maven.repository.redhat.com, not from an internal source, to be as close to real customer use-case as possible. This means that new versions of Quarkus can only be tested once the release is done and the artifacts are in the maven repository.
There are no specific requirement on OpenShift installation, but pull secret for dockerhub is highly recommended to avoid pull rate limiting.
All the required libraries are installed as part of the scenario:
- Git
- Java 11 OpenJDK
- Maven
- Docker/Podman/Buildah
- Email: [email protected]
- Jira: INTEROP project
- Slack: #forum-qe-layered-product
After a new version of Quarkus is released, you should do the following:
- Update this section of Dockerfile (description is in the comments):
ENV QUARKUS_BRANCH=2.13 # branch in this repo which is used to run tests
ENV QUARKUS_VERSION=2.13.7.Final-redhat-00003 # version of Quarkus BOM associated with the release
ENV QUARKUS_PLATFORM_GROUP_ID=com.redhat.quarkus.platform # group of Quarkus BOM. Unlikely to change
ENV QUARKUS_PLATFORM_ARTIFACT_ID=quarkus-bom # name of Quarkus BOM. Unlikely to change
- Create PR to
main
branch and pay attention toci/prow/quarkus-ocp4.14-lp-interop-images
check. - Merge the PR
NB: For now, Interop team supports only one job for every product, so we only test the latest RHBQ release.
Currently, the list of modules to be run is defined in the run script in PROJECTS
variable. If you want additional tests to be run, update the list of modules (don't forget to add dependent modules if applicable).
You should only add stable tests without random failures to the list! Once done, run the tests locally against our OCP instance, when follow the same steps above.
- Change
oc_login.sh
to login to your existing OCP cluster. - Create a new public Docker repository (eg
quay.io/$USER/test-container
) - Build and save an image for testing (you can use Docker, Podman or Buildah):
podman build --tag=quay.io/$USER/test-container -f openshift-ci/Dockerfile
podman push quay.io/$USER/test-container
- Run the tests:
oc create deployment interop-container --image=quay.io/$USER/test-container
- Clean after yourself:
oc delete deployment interop-container