diff --git a/.github/workflows/teamscale_upload.yml b/.github/workflows/teamscale_upload.yml new file mode 100644 index 0000000000..b05e003e13 --- /dev/null +++ b/.github/workflows/teamscale_upload.yml @@ -0,0 +1,54 @@ +name: Upload Coverage to Teamscale + +permissions: + actions: read + +on: + workflow_run: + workflows: [Pull Request] + types: + - completed + +jobs: + download: + runs-on: ubuntu-latest + steps: + - name: 'Download artifact' + uses: actions/github-script@v7 + with: + script: | + let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "coverage-report" + })[0]; + let download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + const fs = require('fs'); + const path = require('path'); + const temp = '${{ runner.temp }}/artifacts'; + if (!fs.existsSync(temp)){ + fs.mkdirSync(temp); + } + fs.writeFileSync(path.join(temp, 'coverage-report.zip'), Buffer.from(download.data)); + + - name: 'Unzip artifact' + run: unzip "${{ runner.temp }}/artifacts/coverage-report.zip" -d "${{ runner.temp }}/artifacts" + - name: 'Upload coverage' + uses: 'cqse/teamscale-upload-action@v2.9.6' + with: + server: 'https://fdb.teamscale.io' + project: 'foundationdb-fdb-record-layer' + user: 'fdb-record-layer-build' + partition: 'CI Tests' + accesskey: ${{ secrets.TEAMSCALE_ACCESS_KEY }} + format: 'JACOCO' + revision: ${{ github.event.workflow_run.head_sha }} + files: "${{ runner.temp}}/artifacts/codeCoverageReport.xml" diff --git a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCrudTest.java b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCrudTest.java index 677d62629c..e1d62a9095 100644 --- a/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCrudTest.java +++ b/fdb-record-layer-core/src/test/java/com/apple/foundationdb/record/provider/foundationdb/FDBRecordStoreCrudTest.java @@ -54,6 +54,7 @@ */ @Tag(Tags.RequiresFDB) @Execution(ExecutionMode.CONCURRENT) +@Tag("Quicky") public class FDBRecordStoreCrudTest extends FDBRecordStoreTestBase { @Test diff --git a/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/codec/LazyOpenerTest.java b/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/codec/LazyOpenerTest.java index 9d3c131b39..17c4f78f4f 100644 --- a/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/codec/LazyOpenerTest.java +++ b/fdb-record-layer-lucene/src/test/java/com/apple/foundationdb/record/lucene/codec/LazyOpenerTest.java @@ -24,6 +24,7 @@ import com.apple.foundationdb.async.MoreAsyncUtil; import org.hamcrest.MatcherAssert; import org.hamcrest.Matchers; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.parallel.Isolated; @@ -46,6 +47,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; @Isolated // To avoid contention on the thread pool with other tests running in parallel +@Tag("Quicky") class LazyOpenerTest { @Test diff --git a/gradle/testing.gradle b/gradle/testing.gradle index ded64fd842..d570b1050b 100644 --- a/gradle/testing.gradle +++ b/gradle/testing.gradle @@ -32,6 +32,7 @@ test { excludeTags 'WipesFDB' excludeTags 'AutomatedTest' excludeEngines 'auto-test' + includeTags 'Quicky' } } diff --git a/yaml-tests/src/test/java/YamlIntegrationTests.java b/yaml-tests/src/test/java/YamlIntegrationTests.java index cc749fb154..d79af7857d 100644 --- a/yaml-tests/src/test/java/YamlIntegrationTests.java +++ b/yaml-tests/src/test/java/YamlIntegrationTests.java @@ -22,6 +22,7 @@ import com.apple.foundationdb.relational.yamltests.YamlTest; import com.apple.foundationdb.relational.yamltests.YamlTestConfigFilters; import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.TestTemplate; /** @@ -35,6 +36,7 @@ @YamlTest public class YamlIntegrationTests { @TestTemplate + @Tag("Quicky") public void showcasingTests(YamlTest.Runner runner) throws Exception { runner.runYamsql("showcasing-tests.yamsql"); }