2121 type : string
2222 required : false
2323 default : ' '
24- it-category :
25- type : string
26- required : false
27- default : ' '
2824
2925jobs :
3026 integration_tests :
31- name : " Experimental: ${{ inputs.experimental }}, Checkout ref: ${{ inputs.checkout-ref }}"
27+ name : |
28+ Integration tests:
29+ JDK: ${{ inputs.java-version }}
30+ Kube: ${{ inputs.kube-version }}
31+ Experimental: ${{ inputs.experimental }}
32+ Checkout ref: ${{ inputs.checkout-ref }}
3233 runs-on : ubuntu-latest
3334 continue-on-error : ${{ inputs.experimental }}
34- timeout-minutes : 40
35+ timeout-minutes : 180
3536 steps :
36- - name : Output test information
37- run : echo "Running ITs with ${{ inputs.http-client }}, ${{ inputs.kube-version }}, ${{ inputs.java-version }}"
3837 - uses : actions/checkout@v4
3938 with :
4039 ref : ${{ inputs.checkout-ref }}
@@ -44,25 +43,40 @@ jobs:
4443 distribution : temurin
4544 java-version : ${{ inputs.java-version }}
4645 cache : ' maven'
47- - name : Download minikube artifact for Kubernetes ${{ inputs.kube-version }}
48- uses : actions/download-artifact@v4
46+ - name : Set up Minikube
47+ uses : manusa/actions-setup-minikube@v2.13.1
4948 with :
50- name : minikube-${{inputs.kube-version}}
51- path : minikube
52- - name : Start minikube with Kubernetes ${{ inputs.kube-version }}
49+ minikube version : ' v1.34.0'
50+ kubernetes version : ' ${{ inputs.kube-version }}'
51+ driver : ' docker'
52+ github token : ${{ secrets.GITHUB_TOKEN }}
53+ - name : " Run tests"
5354 run : |
54- # wait for docker
55- docker version -f '{{.Server.Version}} - {{.Client.Version}}'
56- export MINIKUBE_HOME=$PWD/minikube
57- minikube start --driver=docker
58- kubectl version
59- - name : " ${{inputs.it-category}} integration tests (kube: ${{ inputs.kube-version }} / java: ${{ inputs.java-version }} / client: ${{ inputs.http-client }})"
60- run : |
61- if [ -z "${{inputs.it-category}}" ]; then
62- it_profile="integration-tests"
63- else
64- it_profile="integration-tests-${{inputs.it-category}}"
65- fi
66- echo "Using profile: ${it_profile}"
67- ./mvnw ${MAVEN_ARGS} -T1C -B install -DskipTests -Pno-apt --file pom.xml
68- ./mvnw ${MAVEN_ARGS} -T1C -B package -P${it_profile} -Dfabric8-httpclient-impl.name=${{inputs.http-client}} --file pom.xml
55+ echo "Running tests..."
56+ ./mvnw ${MAVEN_ARGS} -T1C -B install -DskipTests --file pom.xml
57+
58+ echo "Running baseapi integration tests with the default HTTP client..."
59+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-baseapi --file pom.xml
60+
61+ echo "Running dependent integration tests with the default HTTP client..."
62+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-dependent --file pom.xml
63+
64+ echo "Running workflow integration tests with the default HTTP client..."
65+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-workflow --file pom.xml
66+
67+ echo "Running minimal-watch-timeout-dependent-it integration tests with the default HTTP client..."
68+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pminimal-watch-timeout-dependent-it --file pom.xml
69+
70+ echo "Running all integration tests with the default HTTP client..."
71+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests --file pom.xml
72+
73+ echo "Running baseapi integration tests with the Vert.x HTTP client..."
74+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-baseapi -Dfabric8-httpclient-impl.name=vertx --file pom.xml
75+
76+ echo "Running baseapi integration tests with the JDK HTTP client..."
77+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-baseapi -Dfabric8-httpclient-impl.name=jdk --file pom.xml
78+
79+ echo "Running baseapi integration tests with the Jetty HTTP client..."
80+ ./mvnw ${MAVEN_ARGS} -T1C -B package -Pintegration-tests-baseapi -Dfabric8-httpclient-impl.name=jetty --file pom.xml
81+
82+
0 commit comments