Update OpenShift integration and restore itegration tests #132
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Arquillian Cube Test | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- 'doc/**' | |
- '.circleci/**' | |
env: | |
DOCKER_HOST: 'unix:///var/run/docker.sock' | |
jobs: | |
build: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 90 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: ['11'] | |
target: ['docker', 'kubernetes', 'openshift'] | |
env: | |
# failsafe.groups configuration depends on the env setup. | |
FAILSAFE_GROUPS: '' | |
steps: | |
- name: Checkout arquillian-cube | |
uses: actions/checkout@v4 | |
- name: Setup Minikube | |
if: ${{ matrix.target == 'kubernetes' }} | |
uses: manusa/[email protected] | |
with: | |
driver: docker | |
container runtime: containerd | |
minikube version: 'v1.32.0' | |
kubernetes version: 'v1.30.0' | |
github token: ${{ secrets.GITHUB_TOKEN }} | |
start args: "--memory='4gb' --cpus='2'" | |
- name: Enable minikube registry | |
if: ${{ matrix.target == 'kubernetes' }} | |
run: | | |
minikube addons enable registry | |
kubectl port-forward --namespace kube-system service/registry 5000:80 & | |
- name: Setup OpenShift | |
if: ${{ matrix.target == 'openshift' }} | |
uses: manusa/[email protected] | |
with: | |
oc version: 'v3.10.0' | |
github token: ${{ secrets.GITHUB_TOKEN }} | |
# - name: Setup OLM on OpenShift v3.z | |
# if: ${{ matrix.target == 'openshift' }} | |
# run: | | |
# set -x | |
# # operator-sdk must be installed manually on OpenShift v3 | |
# oc version | |
# oc create -f https://github.com/operator-framework/operator-lifecycle-manager/tree/master/deploy/upstream/manifests/0.6.0/ | |
# # OR... | |
# export ARCH=$(case $(uname -m) in x86_64) echo -n amd64 ;; aarch64) echo -n arm64 ;; *) echo -n $(uname -m) ;; esac) | |
# export OS=$(uname | awk '{print tolower($0)}') | |
# export OPERATOR_SDK_DL_URL=https://github.com/operator-framework/operator-sdk/releases/download/v1.37.0 | |
# curl -LO ${OPERATOR_SDK_DL_URL}/operator-sdk_${OS}_${ARCH} | |
# chmod +x operator-sdk_${OS}_${ARCH} && sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk | |
# operator-sdk olm install | |
- name: Cache .m2 registry | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: cache-e2e-${{ github.sha }}-${{ github.run_id }} | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
- name: Maven pre-fetch dependencies ${{ matrix.java }} | |
run: | | |
./mvnw clean install -q -U -DskipTests | |
- name: Build and run integration tests for Docker target (${{ matrix.java }}) | |
if: ${{ matrix.target == 'docker' }} | |
run: | | |
./mvnw verify -Dfailsafe.groups=org.arquillian.cube.docker.impl.requirement.RequiresDocker -Dcontainerless.skip.tests=true | |
- name: Build and run integration tests for Kubernetes target (${{ matrix.java }}) | |
if: ${{ matrix.target == 'kubernetes' }} | |
run: | | |
./mvnw verify -Dfailsafe.groups=org.arquillian.cube.kubernetes.impl.requirement.RequiresKubernetes -Dcontainerless.skip.tests=true | |
- name: Build and run integration tests for OpenShift target (${{ matrix.java }}) | |
if: ${{ matrix.target == 'openshift' }} | |
run: | | |
mvn verify -pl openshift -amd -Dfailsafe.groups=org.arquillian.cube.openshift.impl.requirement.RequiresOpenshift -Dcontainerless.skip.tests=true | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: surefire-reports-jdk-${{ matrix.java }} | |
path: | | |
'${{ github.workspace }}/**/surefire-reports/*.*' | |
'${{ github.workspace }}/**/*.log' | |
- name: Stop minikube | |
if: ${{ matrix.target == 'kubernetes' }} | |
run: | | |
minikube stop |