From 499e8ef0bbe87674fd88e12e4e3dd4bc4ecd9971 Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Fri, 7 Jul 2023 16:58:07 +0300 Subject: [PATCH 1/8] Test set with Spring tests added --- .github/workflows/framework-tests-matrix.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/framework-tests-matrix.json b/.github/workflows/framework-tests-matrix.json index 7eece50147..dace791ff3 100644 --- a/.github/workflows/framework-tests-matrix.json +++ b/.github/workflows/framework-tests-matrix.json @@ -52,6 +52,10 @@ "PART_NAME": "examples-part8", "TESTS_TO_RUN": "--tests \"org.utbot.examples.codegen.*\"" }, + { + "PART_NAME": "examples-spring", + "TESTS_TO_RUN": "--tests \"org.utbot.examples.spring.*\"" + }, { "PART_NAME": "examples-lists", "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.ListsPart1Test\" --tests \"org.utbot.examples.collections.ListsPart2Test\" --tests \"org.utbot.examples.collections.ListsPart3Test\"" From 81ac8d00c1ed2038b60c714d95b69cd8552c3656 Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Fri, 7 Jul 2023 18:03:38 +0300 Subject: [PATCH 2/8] utbot-spring-sample and utbot-spring-test modules are added as test dependencies to utbot-framework-test. --- utbot-framework-test/build.gradle | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/utbot-framework-test/build.gradle b/utbot-framework-test/build.gradle index eea8967eb1..98fc669fc9 100644 --- a/utbot-framework-test/build.gradle +++ b/utbot-framework-test/build.gradle @@ -8,6 +8,8 @@ dependencies { implementation(project(":utbot-framework")) testImplementation project(':utbot-sample') + testImplementation project(':utbot-spring-sample') + testImplementation project(':utbot-spring-test') testImplementation project(":utbot-framework").sourceSets.test.output testImplementation project(":utbot-core").sourceSets.test.output @@ -44,6 +46,8 @@ dependencies { implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-core', version: ksmtVersion implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-z3', version: ksmtVersion + + testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion } // This is required to avoid conflict between SpringBoot standard logger and the logger of our project. From e60b92198b441eb99b5055858fe35e51c534bb5a Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Mon, 10 Jul 2023 11:54:55 +0300 Subject: [PATCH 3/8] Removed extra dependency in build.gradle. Added run tests from utbot-spring-test in build-and-run-tests-from-branch.yml workflow --- .github/workflows/build-and-run-tests-from-branch.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-and-run-tests-from-branch.yml b/.github/workflows/build-and-run-tests-from-branch.yml index 63d0abbbd8..f616acefbe 100644 --- a/.github/workflows/build-and-run-tests-from-branch.yml +++ b/.github/workflows/build-and-run-tests-from-branch.yml @@ -134,6 +134,7 @@ jobs: - name: Run tests run: | gradle --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-framework-test:test ${{ matrix.project.TESTS_TO_RUN }} + gradle --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-spring-test:test - name: Upload logs if: ${{ always() }} From ce3c00e01796532525a4728d30c7ad77f052c6ac Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Mon, 10 Jul 2023 12:00:24 +0300 Subject: [PATCH 4/8] Removed extra dependency in build.gradle. --- utbot-framework-test/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/utbot-framework-test/build.gradle b/utbot-framework-test/build.gradle index 98fc669fc9..3edff12381 100644 --- a/utbot-framework-test/build.gradle +++ b/utbot-framework-test/build.gradle @@ -46,8 +46,6 @@ dependencies { implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-core', version: ksmtVersion implementation group: 'com.github.UnitTestBot.ksmt', name: 'ksmt-z3', version: ksmtVersion - - testImplementation group: 'org.springframework.boot', name: 'spring-boot-starter-data-jpa', version: springBootVersion } // This is required to avoid conflict between SpringBoot standard logger and the logger of our project. From 98fb8dd97caac37f1e179651ca16a17415a648bb Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Mon, 10 Jul 2023 12:15:20 +0300 Subject: [PATCH 5/8] Removed extra spring-tests from matrix. --- .github/workflows/framework-tests-matrix.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/framework-tests-matrix.json b/.github/workflows/framework-tests-matrix.json index dace791ff3..7eece50147 100644 --- a/.github/workflows/framework-tests-matrix.json +++ b/.github/workflows/framework-tests-matrix.json @@ -52,10 +52,6 @@ "PART_NAME": "examples-part8", "TESTS_TO_RUN": "--tests \"org.utbot.examples.codegen.*\"" }, - { - "PART_NAME": "examples-spring", - "TESTS_TO_RUN": "--tests \"org.utbot.examples.spring.*\"" - }, { "PART_NAME": "examples-lists", "TESTS_TO_RUN": "--tests \"org.utbot.examples.collections.ListsPart1Test\" --tests \"org.utbot.examples.collections.ListsPart2Test\" --tests \"org.utbot.examples.collections.ListsPart3Test\"" From 6a356904b4106c0bbc989823105c20a13e382cd9 Mon Sep 17 00:00:00 2001 From: Alena Lisevych Date: Mon, 10 Jul 2023 12:16:57 +0300 Subject: [PATCH 6/8] Removed extra spring dependencies from framework-test --- utbot-framework-test/build.gradle | 2 -- 1 file changed, 2 deletions(-) diff --git a/utbot-framework-test/build.gradle b/utbot-framework-test/build.gradle index 3edff12381..eea8967eb1 100644 --- a/utbot-framework-test/build.gradle +++ b/utbot-framework-test/build.gradle @@ -8,8 +8,6 @@ dependencies { implementation(project(":utbot-framework")) testImplementation project(':utbot-sample') - testImplementation project(':utbot-spring-sample') - testImplementation project(':utbot-spring-test') testImplementation project(":utbot-framework").sourceSets.test.output testImplementation project(":utbot-core").sourceSets.test.output From 831e3096398f00db99aad5cae40ad4944f9b4588 Mon Sep 17 00:00:00 2001 From: Egor Vasilyev Date: Mon, 10 Jul 2023 14:51:28 +0300 Subject: [PATCH 7/8] fix test run --- .github/workflows/build-and-run-tests-from-branch.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/build-and-run-tests-from-branch.yml b/.github/workflows/build-and-run-tests-from-branch.yml index f616acefbe..c432994eeb 100644 --- a/.github/workflows/build-and-run-tests-from-branch.yml +++ b/.github/workflows/build-and-run-tests-from-branch.yml @@ -134,7 +134,6 @@ jobs: - name: Run tests run: | gradle --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-framework-test:test ${{ matrix.project.TESTS_TO_RUN }} - gradle --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-spring-test:test - name: Upload logs if: ${{ always() }} @@ -244,7 +243,7 @@ jobs: # The option forces to execute all jobs even though some of them have failed. fail-fast: false matrix: - project: [utbot-core, utbot-java-fuzzing, utbot-gradle, utbot-junit-contest, utbot-sample] + project: [utbot-core, utbot-java-fuzzing, utbot-gradle, utbot-junit-contest, utbot-sample, utbot-spring-test] runs-on: ubuntu-20.04 container: image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 From b86d692c18379ed90aca677278c83db3fb44d969 Mon Sep 17 00:00:00 2001 From: Egor Vasilyev Date: Mon, 10 Jul 2023 15:14:36 +0300 Subject: [PATCH 8/8] add spring tests jbo --- .../build-and-run-tests-from-branch.yml | 72 ++++++++++++++++++- 1 file changed, 71 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-run-tests-from-branch.yml b/.github/workflows/build-and-run-tests-from-branch.yml index c432994eeb..7c2cdea3a0 100644 --- a/.github/workflows/build-and-run-tests-from-branch.yml +++ b/.github/workflows/build-and-run-tests-from-branch.yml @@ -69,6 +69,8 @@ jobs: echo "combined-projects-matrix=$COMBINED_PROJECTS" >> $GITHUB_OUTPUT echo $FRAMEWORK_TESTS echo $COMBINED_PROJECTS + + framework-tests: needs: prepare-matrices # Using matrices let create multiple jobs runs based on the combinations of the variables from matrices. @@ -157,6 +159,74 @@ jobs: name: test_report ${{ matrix.project.PART_NAME }} path: utbot-framework-test/build/reports/tests/test/* + + spring-tests: + runs-on: ubuntu-20.04 + container: + image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0 + volumes: + - "/home/runner/runners:/home/runner/runners" + - "/tmp/filebeat:/tmp/filebeat" + steps: + - name: Print environment variables + run: printenv + + - name: Checkout repository + uses: actions/checkout@v3 + - name: Check out ${{ github.event.inputs.commit_sha }} commit + if: github.event.inputs.commit_sha != '' + run: | + git config --global --add safe.directory ${GITHUB_WORKSPACE} + git fetch + git checkout ${{ github.event.inputs.commit_sha }} + + - name: Run monitoring + continue-on-error: true + run: | + chmod +x ./scripts/project/monitoring.sh + ./scripts/project/monitoring.sh "${PUSHGATEWAY_HOSTNAME}" "${{ secrets.PUSHGATEWAY_USER }}" "${{ secrets.PUSHGATEWAY_PASSWORD }}" + echo "Please visit Grafana to check metrics: https://${PUSHGATEWAY_HOSTNAME}/d/rYdddlPWk/node-exporter-full?orgId=1&from=now-1h&to=now&var-service=github&var-instance=${GITHUB_RUN_ID}-${HOSTNAME}&refresh=1m" + echo --- + printf ${{ secrets.CA_CERT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/ca.crt + printf ${{ secrets.CLIENT_CRT }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.crt + printf ${{ secrets.CLIENT_KEY }} | base64 -d > ${{ env.FILEBEAT_DIR }}/client.key + chmod +x ./scripts/project/logging.sh + ./scripts/project/logging.sh "${FILEBEAT_DIR}" "${{ secrets.ELK_HOST }}:5044" + echo "Please visit ELK to check logs https://logs.utbot.org/app/discover#/ using the following search pattern: github.env.HOSTNAME:\"${HOSTNAME}\" and github.env.GITHUB_RUN_ID:\"${GITHUB_RUN_ID}\" and not github.log_level:\"INFO\"" + + - uses: actions/cache@v3 + with: + path: /root/.gradle/caches + key: ${{ runner.os }}-gradle-spring-${{ hashFiles('./*.gradle*', './utbot-spring*/*.gradle*') }} + restore-keys: ${{ runner.os }}-gradle-spring + + - name: Run tests + run: | + cd utbot-spring-test + gradle --no-daemon --build-cache --no-parallel -Dorg.gradle.jvmargs=-Xmx6g -Dkotlin.daemon.jvm.options=-Xmx4g :utbot-spring-test:test + + - name: Upload logs + if: ${{ always() }} + uses: actions/upload-artifact@v3 + with: + name: logs utbot-spring-test + path: utbot-spring-test/logs/* + - name: Upload UTBot temp directory content + if: ${{ always() }} + uses: actions/upload-artifact@v3 + with: + name: utbot_temp utbot-spring-test + path: | + /tmp/UTBot/generated*/* + /tmp/UTBot/utbot-instrumentedprocess-errors/* + - name: Upload test report if tests have failed + if: ${{ failure() }} + uses: actions/upload-artifact@v3 + with: + name: test_report utbot-spring-test + path: utbot-spring-test/build/reports/tests/test/* + + combined-projects: # This job does not need to wait for 'prepare-tests-matrix' result. # GitHub allocates runners portionally. Framework tests are time consuming. That's why we want to force them @@ -243,7 +313,7 @@ jobs: # The option forces to execute all jobs even though some of them have failed. fail-fast: false matrix: - project: [utbot-core, utbot-java-fuzzing, utbot-gradle, utbot-junit-contest, utbot-sample, utbot-spring-test] + project: [utbot-core, utbot-java-fuzzing, utbot-gradle, utbot-junit-contest, utbot-sample] runs-on: ubuntu-20.04 container: image: unittestbot/java-env:java17-zulu-jdk-gradle7.6.1-kotlinc1.8.0