diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 1eb8c3d..0a89778 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -69,6 +69,13 @@ jobs: with: name: Build path: build + + - name: Composer Up + uses: eskatos/gradle-command-action@v1 + with: + gradle-version: 6.8 + arguments: testSqlComposeUp + - name: TestSql uses: eskatos/gradle-command-action@v1 with: @@ -81,19 +88,29 @@ jobs: steps: - uses: actions/checkout@v2 + - name: Set up JDK 11 uses: actions/setup-java@v1 with: java-version: 11 + - uses: actions/download-artifact@v2 with: name: Build path: build + + - name: Composer Up + uses: eskatos/gradle-command-action@v1 + with: + gradle-version: 6.8 + arguments: testComposeUp + - name: Test uses: eskatos/gradle-command-action@v1 with: gradle-version: 6.8 - arguments: test -x testSql + arguments: test + - name: Coverage uses: eskatos/gradle-command-action@v1 with: @@ -101,12 +118,14 @@ jobs: arguments: coveralls env: COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + - name: Cache SonarCloud packages uses: actions/cache@v1 with: path: ~/.sonar/cache key: ${{ runner.os }}-sonar restore-keys: ${{ runner.os }}-sonar + - name: Build and analyze env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any diff --git a/build.gradle.kts b/build.gradle.kts index 9364b49..bee0958 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -94,7 +94,7 @@ val migration by tasks.registering { } val migrationTest by tasks.registering { - group = "verification" + group = "tests" dependsOn(tasks.named("testComposeUp")) finalizedBy(tasks.named("testComposeDown")) doLast { @@ -118,11 +118,9 @@ val migrationTest by tasks.registering { } val testSql by tasks.registering { - group = "verification" + group = "tests" dependsOn(tasks.named("processResources")) dependsOn(tasks.named("processTestResources")) - dependsOn(tasks.named("testSqlComposeUp")) - finalizedBy(tasks.named("testSqlComposeDown")) doLast { val config = ConfigFactory.parseFile(file("$buildDir/resources/test/application-test.conf")).resolve() @@ -197,8 +195,7 @@ val sourcesJar by tasks.registering(Jar::class) { tasks.test { useJUnit() useJUnitPlatform() - // systemProperty("junit.jupiter.execution.parallel.enabled", true) - dependsOn(testSql) + systemProperty("junit.jupiter.execution.parallel.enabled", true) finalizedBy(tasks.jacocoTestReport) // report is always generated after tests run } @@ -206,13 +203,6 @@ coveralls { sourceDirs.add("src/main/kotlin") } -tasks.register("testAll") { - group = "verification" - dependsOn(testSql) - dependsOn(tasks.test) - dependsOn(tasks.ktlintCheck) -} - apply(plugin = "docker-compose") dockerCompose { projectName = "dc-project" @@ -228,14 +218,12 @@ dockerCompose { useComposeFiles = listOf("docker-compose-test.yml") startedServices = listOf("db", "elasticsearch") stopContainers = false - isRequiredBy(project.tasks.named("testSql")) } createNested("test").apply { projectName = "dc-project_test" useComposeFiles = listOf("docker-compose-test.yml") stopContainers = false - isRequiredBy(project.tasks.test) } } @@ -320,6 +308,12 @@ tasks.named("testComposeUp").configure { } } +tasks.register("testWithDependencies", Test::class) { + group = "tests" + dependsOn(tasks.named("testComposeUp")) + dependsOn(tasks.ktlintCheck) + dependsOn(testSql) +} tasks.register("testArticles", Test::class) { group = "tests" useJUnitPlatform { @@ -368,7 +362,7 @@ tasks.register("testVotes", Test::class) { includeTags("vote") } } -tasks.register("testWorkgroup", Test::class) { +tasks.register("testWorkgroups", Test::class) { group = "tests" useJUnitPlatform { includeTags("workgroup")