diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 97555ae1b5..18fc5ec1ad 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,69 +5,31 @@ env: on: workflow_call: - inputs: - kube-version: - type: string - required: true jobs: - set_up_kubernetes: - name: Set up Kubernetes ${{ inputs.kube-version }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set up Minikube - uses: manusa/actions-setup-minikube@v2.13.1 - with: - minikube version: 'v1.34.0' - kubernetes version: '${{ inputs.kube-version }}' - driver: 'docker' - github token: ${{ secrets.GITHUB_TOKEN }} - - - name: Save minikube directory - id: minikube - run: | - echo "minikube-dir=$MINIKUBE_HOME" >> $GITHUB_OUTPUT - - - name: Upload minikube - uses: actions/upload-artifact@v4 - with: - name: minikube-${{ inputs.kube-version }} - path: ${{ steps.minikube.outputs.minikube-dir }} - include-hidden-files: true - integration_tests: - name: "JDK: ${{ matrix.java }}, IT category: ${{ matrix.it-category }}" - needs: set_up_kubernetes strategy: matrix: java: [ 17, 21 ] - it-category: [ 'baseapi', 'dependent', 'workflow' ] + kubernetes: [ 'v1.29.12','1.30.8', '1.31.4', '1.32.0' ] uses: ./.github/workflows/integration-tests.yml with: - kube-version: ${{ inputs.kube-version }} java-version: ${{ matrix.java }} - it-category: ${{ matrix.it-category }} + kube-version: ${{ matrix.kubernetes }} - http_client_tests: - name: "JDK: ${{ matrix.java }}, IT category: ${{ matrix.it-category }}, HTTP client: ${{ matrix.httpclient }}" - needs: set_up_kubernetes + httpclient-tests: strategy: matrix: - java: [ 17, 21 ] - it-category: [ 'baseapi' ] httpclient: [ 'vertx', 'jdk', 'jetty' ] uses: ./.github/workflows/integration-tests.yml with: - kube-version: ${{ inputs.kube-version }} - java-version: ${{ matrix.java }} - it-category: ${{ matrix.it-category }} + java-version: 21 + kube-version: '1.32.0' http-client: ${{ matrix.httpclient }} + experimental: true special_integration_tests: name: "Special integration tests (${{ matrix.java }})" - needs: set_up_kubernetes runs-on: ubuntu-latest strategy: matrix: @@ -81,13 +43,3 @@ jobs: java-version: ${{ matrix.java }} - name: Run Special Integration Tests run: ./mvnw ${MAVEN_ARGS} -B package -P minimal-watch-timeout-dependent-it --file pom.xml - - delete_kubernetes: - needs: [ integration_tests, http_client_tests, special_integration_tests ] - if: always() - name: Delete Kubernetes ${{ inputs.kube-version }} artifact - runs-on: ubuntu-latest - steps: - - uses: geekyeggo/delete-artifact@v5 - with: - name: minikube-${{ inputs.kube-version }} diff --git a/.github/workflows/integration-tests.yml b/.github/workflows/integration-tests.yml index dff59bfe7c..d5aca2ad54 100644 --- a/.github/workflows/integration-tests.yml +++ b/.github/workflows/integration-tests.yml @@ -21,20 +21,14 @@ on: type: string required: false default: '' - it-category: - type: string - required: false - default: '' jobs: integration_tests: - name: "Experimental: ${{ inputs.experimental }}, Checkout ref: ${{ inputs.checkout-ref }}" + name: Integration tests (${{ inputs.java-version }}, ${{ inputs.kube-version }}, ${{ inputs.http-client }}) runs-on: ubuntu-latest continue-on-error: ${{ inputs.experimental }} timeout-minutes: 40 steps: - - name: Output test information - run: echo "Running ITs with ${{ inputs.http-client }}, ${{ inputs.kube-version }}, ${{ inputs.java-version }}" - uses: actions/checkout@v4 with: ref: ${{ inputs.checkout-ref }} @@ -44,18 +38,13 @@ jobs: distribution: temurin java-version: ${{ inputs.java-version }} cache: 'maven' - - name: Download minikube artifact for Kubernetes ${{ inputs.kube-version }} - uses: actions/download-artifact@v4 + - name: Set up Minikube + uses: manusa/actions-setup-minikube@v2.13.1 with: - name: minikube-${{inputs.kube-version}} - path: minikube - - name: Start minikube with Kubernetes ${{ inputs.kube-version }} - run: | - # wait for docker - docker version -f '{{.Server.Version}} - {{.Client.Version}}' - export MINIKUBE_HOME=$PWD/minikube - minikube start --driver=docker - kubectl version + minikube version: 'v1.34.0' + kubernetes version: '${{ inputs.kube-version }}' + driver: 'docker' + github token: ${{ secrets.GITHUB_TOKEN }} - name: "${{inputs.it-category}} integration tests (kube: ${{ inputs.kube-version }} / java: ${{ inputs.java-version }} / client: ${{ inputs.http-client }})" run: | if [ -z "${{inputs.it-category}}" ]; then diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index df0d2eee2b..dea18217f9 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -31,10 +31,4 @@ jobs: run: ./mvnw ${MAVEN_ARGS} clean install -Pno-apt --file pom.xml build: - name: Integration tests with Kubernetes ${{ matrix.kubernetes }} - strategy: - matrix: - kubernetes: [ 'v1.29.12','1.30.8', '1.31.4', '1.32.0' ] uses: ./.github/workflows/build.yml - with: - kube-version: ${{ matrix.kubernetes }} \ No newline at end of file