diff --git a/.github/workflows/common.yml b/.github/workflows/common.yml index f37e0de8..723d2c23 100644 --- a/.github/workflows/common.yml +++ b/.github/workflows/common.yml @@ -207,7 +207,7 @@ jobs: pushd stream-applications > /dev/null echo "::notice ::building - stream-applications-build,functions,applications/stream-applications-core" set -e - $ROOT_DIR/build-folder.sh stream-applications-build,functions,applications/stream-applications-core install verify deploy + $ROOT_DIR/build-folder.sh stream-applications-build,functions,applications/stream-applications-core "install verify deploy" set +e echo "::notice ::core build completed" popd > /dev/null @@ -225,10 +225,11 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + gh run view ${{ github.run_id }} -v | grep "^X" FAILURES=$(gh run view ${{ github.run_id }} -v | grep "^X") COUNT_TESTS=$(echo "$FAILURES" | grep -c -F "tests ") if((COUNT_TESTS > 0)); then - echo "Re-run ${{ github.workflow }} run ${{ github.run_id }}" + echo "::info ::Re-run ${{ github.workflow }} run ${{ github.run_id }}" gh run rerun ${{ github.run_id }} --failed --debug else echo "Checked ${{ github.workflow }} run ${{ github.run_id }}. No failures in tests jobs:" diff --git a/build-folder.sh b/build-folder.sh index 545b6dfd..16bf2b41 100755 --- a/build-folder.sh +++ b/build-folder.sh @@ -52,31 +52,57 @@ if [[ "$MAVEN_GOAL" == *"deploy"* ]]; then check_env CI_DEPLOY_USERNAME check_env CI_DEPLOY_PASSWORD fi -for FOLDER in $FOLDERS; do - RETRIES=3 - while ((RETRIES > 0)); do - set +e - ./mvnw -U -f "$FOLDER" $MAVEN_OPTS dependency:tree - set -e - RESULT=$? - if ((RESULT == 0)); then - break - fi - RETRIES=$((RETRIES - 1)) - done -done MODULE_ARGS="" for FOLDER in $FOLDERS; do - if [ "$MAVEN_GOAL" != "install" ]; then - echo -e "Maven goals:${bold}-f $FOLDER -DskipTests install${end}" - ./mvnw -f "$FOLDER" -DskipTests $MAVEN_OPTS install - fi if [ "$MODULE_ARGS" == "" ]; then MODULE_ARGS="$FOLDER" else MODULE_ARGS="$MODULE_ARGS,$FOLDER" fi done + +RETRIES=3 +while ((RETRIES > 0)); do + set +e + ./mvnw -U -pl "$MODULE_ARGS" $MAVEN_OPTS dependency:collect + set -e + RESULT=$? + if ((RESULT == 0)); then + break + fi + RETRIES=$((RETRIES - 1)) +done +if [ "$MAVEN_GOAL" != "install" ]; then + echo -e "Maven goals:${bold}-pl $MODULE_ARGS -DskipTests install${end}" + RETRIES=1 + while ((RETRIES > 0)); do + set +e + ./mvnw -pl "$MODULE_ARGS" -DskipTests $MAVEN_OPTS install + set -e + RESULT=$? + if ((RESULT == 0)); then + break + fi + RETRIES=$((RETRIES - 1)) + if ((RETRIES > 0)); then + echo -e "RETRY:Maven goals:${bold}-pl $MODULE_ARGS -DskipTests install${end}" + fi + done +fi + echo -e "Maven goals:${bold}-pl $MODULE_ARGS $MAVEN_GOAL${end}" -./mvnw -pl "$MODULE_ARGS" $MAVEN_OPTS $MAVEN_GOAL +RETRIES=1 +while ((RETRIES > 0)); do + set +e + ./mvnw -pl "$MODULE_ARGS" $MAVEN_OPTS $MAVEN_GOAL + set -e + RESULT=$? + if ((RESULT == 0)); then + break + fi + RETRIES=$((RETRIES - 1)) + if ((RETRIES > 0)); then + echo -e "RETRY:Maven goals:${bold}-pl $MODULE_ARGS $MAVEN_GOAL${end}" + fi +done diff --git a/stream-applications-build/pom.xml b/stream-applications-build/pom.xml index 7d4ffba9..02319dc5 100644 --- a/stream-applications-build/pom.xml +++ b/stream-applications-build/pom.xml @@ -1,391 +1,397 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 - org.springframework.cloud.stream.app - stream-applications-build - 4.0.0-SNAPSHOT - stream-applications-build - Common Parent for Functions and Applications - pom + org.springframework.cloud.stream.app + stream-applications-build + 4.0.0-SNAPSHOT + stream-applications-build + Common Parent for Functions and Applications + pom - - 17 - 3.3.1 - 3.2.1 - 3.0.0-M7 - UTF-8 - UTF-8 - ${java.version} - ${java.version} - 3.2.1 - 3.2.0 - false - true - true - true - 10.3.4 - ${maven.multiModuleProjectDirectory}/etc/checkstyle - ${checkstyle.location}/checkstyle-suppressions.xml - ${checkstyle.location}/nohttp-checkstyle.xml - ${checkstyle.location}/checkstyle-suppressions.xml - 0.0.10 - true - 0.0.35 - 3.0.0-SNAPSHOT - 3.0.0-SNAPSHOT - 3.0.0-SNAPSHOT - 6.0.0-SNAPSHOT - 1.6.7 - 2022.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 4.0.0-SNAPSHOT - 1.17.5 - 5.13.2 + + 17 + 3.3.1 + 3.2.1 + 3.0.0-M7 + UTF-8 + UTF-8 + ${java.version} + ${java.version} + 3.2.1 + 3.2.0 + false + true + true + true + 10.3.4 + ${maven.multiModuleProjectDirectory}/etc/checkstyle + ${checkstyle.location}/checkstyle-suppressions.xml + ${checkstyle.location}/nohttp-checkstyle.xml + ${checkstyle.location}/checkstyle-suppressions.xml + + 0.0.10 + true + 0.0.35 + 3.0.0-SNAPSHOT + 3.0.0-SNAPSHOT + 3.0.0-SNAPSHOT + 6.0.0-SNAPSHOT + 1.6.7 + 2022.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 4.0.0-SNAPSHOT + 1.17.5 + 5.13.2 - 4.0.5 - 3.1.0 - 5.16.5 - 3.4.8 + 4.0.5 + 3.1.0 + 5.16.5 + 3.4.8 - + - https://spring.io/projects/spring-cloud-stream-applications - - - stream-applications-developers - Stream Applications Developers - chackos at vmware com - VMware - https://www.spring.io - - developer - - - + https://spring.io/projects/spring-cloud-stream-applications + + + stream-applications-developers + Stream Applications Developers + chackos at vmware com + VMware + https://www.spring.io + + developer + + + - - - - org.springframework.cloud - spring-cloud-function-dependencies - ${spring-cloud-function.version} - import - pom - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - org.testcontainers - testcontainers-bom - ${test-containers.version} - pom - import - - - org.springframework.geode - spring-geode-bom - ${spring-geode.version} - import - pom - - - org.apache.groovy - groovy-bom - ${groovy.version} - pom - import - - - jakarta.jms - jakarta.jms-api - ${jakarta-jms.version} - - - + + + + org.springframework.cloud + spring-cloud-function-dependencies + ${spring-cloud-function.version} + import + pom + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + org.testcontainers + testcontainers-bom + ${test-containers.version} + pom + import + + + org.springframework.geode + spring-geode-bom + ${spring-geode.version} + import + pom + + + org.apache.groovy + groovy-bom + ${groovy.version} + pom + import + + + jakarta.jms + jakarta.jms-api + ${jakarta-jms.version} + + + - - - - maven-javadoc-plugin - ${maven-javadoc-plugin.version} - - - javadoc - package - - jar - - - - - true - syntax - - - - maven-source-plugin - ${maven-source-plugin.version} - - - attach-sources - package - - jar - - - - - - org.apache.maven.plugins - maven-surefire-plugin - ${maven-surefire-plugin.version} - - true - - + + + + maven-javadoc-plugin + ${maven-javadoc-plugin.version} + + + javadoc + package + + jar + + + + + true + syntax + + + + maven-source-plugin + ${maven-source-plugin.version} + + + attach-sources + package + + jar + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.3.0 + + + org.apache.maven.plugins + maven-surefire-plugin + ${maven-surefire-plugin.version} + + true + + - - org.apache.maven.plugins - maven-checkstyle-plugin - ${maven-checkstyle-plugin.version} - - - com.puppycrawl.tools - checkstyle - ${puppycrawl-tools-checkstyle.version} - - - io.spring.javaformat - spring-javaformat-checkstyle - ${spring-javaformat-checkstyle.version} - - - io.spring.nohttp - nohttp-checkstyle - ${nohttp-checkstyle.version} - - - - - checkstyle-validation - validate - true - - ${disable.checks} - ${checkstyle.location}/checkstyle.xml - ${checkstyle.location}/checkstyle-header.txt - - checkstyle.build.directory=${project.build.directory} - checkstyle.suppressions.file=${checkstyle.suppressions.file} - checkstyle.additional.suppressions.file=${checkstyle.additional.suppressions.file} - - true - - ${maven-checkstyle-plugin.includeTestSourceDirectory} - - ${maven-checkstyle-plugin.failsOnError} - - - ${maven-checkstyle-plugin.failOnViolation} - - - - check - - - - no-http-checkstyle-validation - validate - true - - ${disable.nohttp.checks} - ${checkstyle.nohttp.file} - **/* - **/.idea/**/*,**/.git/**/*,**/target/**/*,**/*.log - ./ - - - check - - - - - - + + org.apache.maven.plugins + maven-checkstyle-plugin + ${maven-checkstyle-plugin.version} + + + com.puppycrawl.tools + checkstyle + ${puppycrawl-tools-checkstyle.version} + + + io.spring.javaformat + spring-javaformat-checkstyle + ${spring-javaformat-checkstyle.version} + + + io.spring.nohttp + nohttp-checkstyle + ${nohttp-checkstyle.version} + + + + + checkstyle-validation + validate + true + + ${disable.checks} + ${checkstyle.location}/checkstyle.xml + ${checkstyle.location}/checkstyle-header.txt + + checkstyle.build.directory=${project.build.directory} + checkstyle.suppressions.file=${checkstyle.suppressions.file} + checkstyle.additional.suppressions.file=${checkstyle.additional.suppressions.file} + + true + + ${maven-checkstyle-plugin.includeTestSourceDirectory} + + ${maven-checkstyle-plugin.failsOnError} + + + ${maven-checkstyle-plugin.failOnViolation} + + + + check + + + + no-http-checkstyle-validation + validate + true + + ${disable.nohttp.checks} + ${checkstyle.nohttp.file} + **/* + **/.idea/**/*,**/.git/**/*,**/target/**/*,**/*.log + ./ + + + check + + + + + + - - - Apache License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0 - Copyright 2014-2020 the original author or authors. + + + Apache License, Version 2.0 + http://www.apache.org/licenses/LICENSE-2.0 + Copyright 2014-2020 the original author or authors. - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 + http://www.apache.org/licenses/LICENSE-2.0 - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied. + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. - See the License for the specific language governing permissions and - limitations under the License. - - - - - scm:git:git://github.com/pivotal/java-functions.git - scm:git:ssh://git@github.com/pivotal/java-functions.git - https://github.com/pivotal/java-functions - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - spring-snapshots - Spring Snapshots - https://repo.spring.io/snapshot - - true - - - - spring-milestones - Spring Milestones - https://repo.spring.io/milestone - - false - - - - spring-releases - Spring Releases - https://repo.spring.io/release - - false - - - - - - repo.spring.io - Spring Release Repository - https://repo.spring.io/libs-release-local - - - repo.spring.io - Spring Snapshot Repository - https://repo.spring.io/libs-snapshot-local - - - - - default - - true - - - - - org.apache.maven.plugins - maven-surefire-plugin - - integration - - - - - - - integration - - - - org.apache.maven.plugins - maven-surefire-plugin - - integration - - - - - - - milestone - - - repo.spring.io - Spring Milestone Repository - https://repo.spring.io/libs-milestone-local - - - - - central - - - - maven-gpg-plugin - 1.6 - - - sign-artifacts - verify - - sign - - - - - - - - - sonatype-nexus-staging - Nexus Release Repository - https://oss.sonatype.org/service/local/staging/deploy/maven2/ - - - sonatype-nexus-snapshots - Sonatype Nexus Snapshots - https://oss.sonatype.org/content/repositories/snapshots/ - - - - + See the License for the specific language governing permissions and + limitations under the License. + + + + + scm:git:git://github.com/pivotal/java-functions.git + scm:git:ssh://git@github.com/pivotal/java-functions.git + https://github.com/pivotal/java-functions + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + Spring milestones + https://repo.spring.io/milestone + + false + + + + spring-releases + Spring Releases + https://repo.spring.io/release + + false + + + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/snapshot + + true + + + + spring-milestones + Spring Milestones + https://repo.spring.io/milestone + + false + + + + spring-releases + Spring Releases + https://repo.spring.io/release + + false + + + + + + repo.spring.io + Spring Release Repository + https://repo.spring.io/libs-release-local + + + repo.spring.io + Spring Snapshot Repository + https://repo.spring.io/libs-snapshot-local + + + + + default + + true + + + + + org.apache.maven.plugins + maven-surefire-plugin + + integration + + + + + + + integration + + + + org.apache.maven.plugins + maven-surefire-plugin + + integration + + + + + + + milestone + + + repo.spring.io + Spring Milestone Repository + https://repo.spring.io/libs-milestone-local + + + + + central + + + + maven-gpg-plugin + 1.6 + + + sign-artifacts + verify + + sign + + + + + + + + + sonatype-nexus-staging + Nexus Release Repository + https://oss.sonatype.org/service/local/staging/deploy/maven2/ + + + sonatype-nexus-snapshots + Sonatype Nexus Snapshots + https://oss.sonatype.org/content/repositories/snapshots/ + + + +