Resume K8s integration tests #52
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-latest | |
timeout-minutes: 90 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: ['11'] | |
target: ['docker', 'kubernetes'] | |
env: | |
# failsafe.groups configuration depends on the env setup. | |
FAILSAFE_GROUPS: '' | |
steps: | |
- name: Setup Minikube # add an if for the kubernetes target only? | |
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 | |
run: | | |
minikube addons enable registry | |
kubectl port-forward --namespace kube-system service/registry 5000:80 & | |
- name: Checkout arquillian-cube | |
uses: actions/checkout@v4 | |
- uses: actions/cache@v3 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-maven- | |
- name: Set up JDK ${{ matrix.java }} | |
uses: actions/setup-java@v3 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'adopt' | |
- name: Maven pre-fetch dependencies ${{ matrix.java }} | |
run: | | |
./mvnw clean package -q -U -DskipTests # pre-fetch dependencies | |
- name: Build and run integration tests for Docker target (${{ matrix.java }}) | |
if: ${{ matrix.target == 'docker' }} | |
run: | | |
./mvnw package -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 | |
- uses: actions/upload-artifact@v3 | |
if: failure() | |
with: | |
name: surefire-reports-jdk-${{ matrix.java }} | |
path: | | |
'${{ github.workspace }}/**/surefire-reports/*.*' | |
'${{ github.workspace }}/**/*.log' | |
- name: Stop minikube | |
run: | | |
minikube stop |