Bumping versions #2067
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: github-workflow | |
on: | |
push: | |
branches: [ main, 2.1.x, 3.0.x ] | |
pull_request: | |
branches: [ main, 2.1.x, 3.0.x ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
TESTCONTAINERS_REUSE_ENABLE: false | |
steps: | |
- name: checkout project | |
uses: actions/checkout@v2 | |
- name: clean space | |
uses: ./.github/workflows/composites/clean-space | |
- name: set env variables | |
uses: ./.github/workflows/composites/env-variables | |
- name: setup project jdk-17 | |
id: jdk_17 | |
uses: ./.github/workflows/composites/setup-jdk17 | |
if: env.BASE_BRANCH == 'main' || env.BASE_BRANCH == '3.0.x' | |
- name: setup project jdk-8 | |
uses: ./.github/workflows/composites/setup-jdk1.8 | |
if: env.BASE_BRANCH == '2.1.x' | |
- name: cache local maven repository | |
uses: ./.github/workflows/composites/cache | |
- name: maven build with dry-run for tests | |
uses: ./.github/workflows/composites/maven-build-with-dry-run-for-tests | |
- name: build controllers project | |
uses: ./.github/workflows/composites/build-controllers-project | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: build integration tests project | |
uses: ./.github/workflows/composites/build-integration-tests-project | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: save controller docker images | |
uses: ./.github/workflows/composites/save-controller-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: save integration tests docker images | |
uses: ./.github/workflows/composites/save-integration-tests-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: echo saved images | |
uses: ./.github/workflows/composites/echo-saved-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: upload docker images | |
uses: ./.github/workflows/composites/upload-docker-images | |
if: env.BASE_BRANCH != '2.1.x' | |
# we need to run some test, so that K3s container is started and then all other instances will re-use this one. | |
# Otherwise, (since we use static ports) there might be two instances starting at the same time, and ports might conflict | |
# This does not run on '2.1.x' branch. | |
fabric8_istio_integration_test: | |
needs: build | |
runs-on: ubuntu-latest | |
steps: | |
- name: checkout project | |
uses: actions/checkout@v2 | |
- name: set env variables | |
uses: ./.github/workflows/composites/env-variables | |
- name: setup project | |
uses: ./.github/workflows/composites/setup-jdk17 | |
if: env.BASE_BRANCH == 'main' || env.BASE_BRANCH == '3.0.x' | |
- name: cache local maven repository | |
uses: ./.github/workflows/composites/cache | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: download docker images | |
uses: ./.github/workflows/composites/download-docker-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: echo saved images | |
uses: ./.github/workflows/composites/echo-saved-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: integration test fabric8 istio | |
uses: ./.github/workflows/composites/fabric8-istio-integration-test | |
if: env.BASE_BRANCH != '2.1.x' | |
test: | |
needs: [ build, fabric8_istio_integration_test ] | |
runs-on: ubuntu-latest | |
timeout-minutes: 60 | |
strategy: | |
fail-fast: true | |
matrix: | |
current_index: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31] | |
number_of_jobs: [32] | |
steps: | |
- name: testcontainers reuse support | |
run: echo "testcontainers.reuse.enable=true" > ~/.testcontainers.properties | |
- name: checkout project | |
uses: actions/checkout@v2 | |
- name: clean space | |
uses: ./.github/workflows/composites/clean-space | |
- name: set env variables | |
uses: ./.github/workflows/composites/env-variables | |
- name: setup project jdk-17 | |
uses: ./.github/workflows/composites/setup-jdk17 | |
if: env.BASE_BRANCH == 'main' || env.BASE_BRANCH == '3.0.x' | |
- name: setup project jdk-8 | |
uses: ./.github/workflows/composites/setup-jdk1.8 | |
if: env.BASE_BRANCH == '2.1.x' | |
- name: cache local maven repository | |
uses: ./.github/workflows/composites/cache | |
- name: download docker images | |
uses: ./.github/workflows/composites/download-docker-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: load docker images into local repo | |
uses: ./.github/workflows/composites/load-docker-images | |
if: env.BASE_BRANCH != '2.1.x' | |
- name: download tests | |
uses: actions/download-artifact@v3 | |
with: | |
name: tests.txt | |
path: /tmp | |
- name: compute single step test bounds | |
uses: ./.github/workflows/composites/test-bounds | |
env: | |
CURRENT_INDEX: ${{ matrix.current_index }} | |
NUMBER_OF_JOBS: ${{ matrix.number_of_jobs }} | |
- name: run tests | |
env: | |
CURRENT_INDEX: ${{ matrix.current_index }} | |
run: | | |
PLAIN_TEST_CLASSNAMES=($(cat /tmp/tests.txt | grep 'spring.cloud.k8s.test.to.run' | awk '{print $3}')) | |
IFS=$'\n' | |
SORTED_TEST_CLASSNAMES=( $(sort <<< "${PLAIN_TEST_CLASSNAMES[*]}") ) | |
unset IFS | |
start_from_name=start_from_${CURRENT_INDEX} | |
how_many_name=how_many_${CURRENT_INDEX} | |
start_from=${!start_from_name} | |
how_many=${!how_many_name} | |
echo "${SORTED_TEST_CLASSNAMES[@]}" | |
echo "$start_from_name : ${start_from}" | |
echo "$how_many_name : ${how_many}" | |
sliced_array=(${SORTED_TEST_CLASSNAMES[@]:$start_from:$how_many}) | |
TEST_ARG=$(echo ${sliced_array[@]} | sed 's/ /,/g') | |
echo "$TEST_ARG" | |
if [[ $baseBranch == "2.1.x" ]]; then | |
./mvnw -s .settings.xml -pl '-:kubernetes-leader-election-example' -pl '-:kubernetes-hello-world-example' \ | |
-pl '-:kubernetes-reload-example' -pl '-:kubernetes-loadbalancer-example' \ | |
-pl '-:spring-cloud-kubernetes-configserver' -pl '-:spring-cloud-kubernetes-configuration-watcher' \ | |
-pl '-:spring-cloud-kubernetes-discoveryserver' \ | |
-DtestsToRun=${TEST_ARG[@]} \ | |
-e clean install \ | |
-U -P sonar -nsu --batch-mode \ | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ | |
-Dhttp.keepAlive=false \ | |
-Dmaven.wagon.http.pool=false \ | |
-Dmaven.wagon.http.retryHandler.class=standard \ | |
-Dmaven.wagon.http.retryHandler.count=3 \ | |
-Dskip.build.image=true | |
else | |
./mvnw -s .settings.xml \ | |
-DtestsToRun=${TEST_ARG[@]} \ | |
-e clean install \ | |
-U -P sonar -nsu --batch-mode \ | |
-Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn \ | |
-Dhttp.keepAlive=false \ | |
-Dmaven.wagon.http.pool=false \ | |
-Dmaven.wagon.http.retryHandler.class=standard \ | |
-Dmaven.wagon.http.retryHandler.count=3 \ | |
-Dskip.build.image=true | |
fi |