build: enable caching for artifact tests #246
Workflow file for this run
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: Build PR | |
on: | |
pull_request: | |
types: [ opened, synchronize ] | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Run tests | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
arguments: | | |
--stacktrace | |
check jacocoTestReport -x :artifact-tests:test | |
- name: Test publishing | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
arguments: | | |
--stacktrace | |
publishToMavenLocal | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
check_name: JUnit Test Report | |
report_paths: '**/build/test-results/**/TEST-*.xml' | |
annotate_notice: false | |
- name: Coverage Report | |
uses: codecov/codecov-action@v4 | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
fail_ci_if_error: true | |
artifact_tests: | |
runs-on: ubuntu-latest | |
env: | |
ENABLE_JAR_CACHING: true | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Run artifact tests | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
arguments: | | |
--stacktrace | |
:artifact-tests:check | |
- name: Publish Test Report | |
uses: mikepenz/action-junit-report@v4 | |
if: always() # always run even if the previous step fails | |
with: | |
check_name: JUnit Test Report | |
report_paths: '**/build/test-results/**/TEST-*.xml' | |
annotate_notice: false | |
publish-snapshot: | |
name: Publish snapshot | |
needs: build | |
runs-on: ubuntu-latest | |
environment: snapshot | |
continue-on-error: true | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '21' | |
- name: Publish plugin | |
uses: gradle/actions/setup-gradle@v3 | |
with: | |
arguments: | | |
-Pversion=SNAPSHOT-${{ github.sha }} | |
assemble publishAllPublicationsToSnapshotRepository | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Snapshot coordinates comment | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
To use the snapshot version of the plugin add this to `settings.gradle.kts`: | |
```kotlin | |
pluginManagement { | |
repositories { | |
maven { | |
name = "JooqDockerPluginSnapshotRepo" | |
url = uri("https://maven.pkg.github.com/monosoul/jooq-gradle-plugin/") | |
credentials { | |
username = "<your GitHub username>" | |
password = "<your GitHub access token with read:packages scope>" | |
} | |
} | |
gradlePluginPortal() | |
} | |
} | |
``` | |
And this to `build.gradle.kts`: | |
```kotlin | |
plugins { | |
id("dev.monosoul.jooq-docker") version "SNAPSHOT-${{ github.sha }}" | |
} | |
``` |