Skip to content

Commit

Permalink
Split test
Browse files Browse the repository at this point in the history
  • Loading branch information
MichaelKora committed Sep 21, 2023
1 parent 2fea841 commit 93bd71b
Show file tree
Hide file tree
Showing 7 changed files with 195 additions and 93 deletions.
28 changes: 19 additions & 9 deletions .github/workflows/java-gradle-docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,25 +84,35 @@ jobs:
working-directory: ${{ inputs.working-directory }}

test:
name: Test
name: Test and asses code quality
runs-on: ubuntu-22.04
needs: build

steps:
- name: Test
uses: bakdata/ci-templates/actions/[email protected]
uses: bakdata/ci-templates/actions/java-gradle-test@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
sonar-token: ${{ secrets.sonar-token }}
sonar-organization: ${{ secrets.sonar-organization }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
gradle-version: ${{ inputs.gradle-version }}
working-directory: ${{ inputs.working-directory }}
- name: Access code quality
uses: bakdata/ci-templates/actions/java-gradle-assess-code-quality@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
sonar-organization: ${{ secrets.sonar-organization }}
sonar-token: ${{ secrets.sonar-token }}
working-directory: ${{ inputs.working-directory }}

build-jib:
name: Build tarball image
runs-on: ubuntu-22.04
Expand Down
26 changes: 18 additions & 8 deletions .github/workflows/java-gradle-library.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -74,23 +74,33 @@ jobs:
working-directory: ${{ inputs.working-directory }}

test:
name: Test
name: Test and asses code quality
runs-on: ubuntu-22.04
needs: build

steps:
- name: Test
uses: bakdata/ci-templates/actions/[email protected]
uses: bakdata/ci-templates/actions/java-gradle-test@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
sonar-token: ${{ secrets.sonar-token }}
sonar-organization: ${{ secrets.sonar-organization }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
gradle-version: ${{ inputs.gradle-version }}
working-directory: ${{ inputs.working-directory }}
- name: Access code quality
uses: bakdata/ci-templates/actions/java-gradle-assess-code-quality@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
sonar-organization: ${{ secrets.sonar-organization }}
sonar-token: ${{ secrets.sonar-token }}
working-directory: ${{ inputs.working-directory }}

publish:
Expand Down
26 changes: 18 additions & 8 deletions .github/workflows/java-gradle-plugin.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -80,23 +80,33 @@ jobs:
working-directory: ${{ inputs.working-directory }}

test:
name: Test
name: Test and asses code quality
runs-on: ubuntu-22.04
needs: build

steps:
- name: Test
uses: bakdata/ci-templates/actions/[email protected]
uses: bakdata/ci-templates/actions/java-gradle-test@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
sonar-token: ${{ secrets.sonar-token }}
sonar-organization: ${{ secrets.sonar-organization }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
gradle-version: ${{ inputs.gradle-version }}
working-directory: ${{ inputs.working-directory }}
- name: Access code quality
uses: bakdata/ci-templates/actions/java-gradle-assess-code-quality@feat/split-test
# uses: bakdata/ci-templates/actions/[email protected]
with:
gradle-cache: ${{ inputs.gradle-cache }}
gradle-version: ${{ inputs.gradle-version }}
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
signing-key-id: ${{ secrets.signing-key-id }}
signing-password: ${{ secrets.signing-password }}
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }}
sonar-organization: ${{ secrets.sonar-organization }}
sonar-token: ${{ secrets.sonar-token }}
working-directory: ${{ inputs.working-directory }}

publish:
Expand Down
40 changes: 40 additions & 0 deletions actions/java-gradle-assess-code-quality/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# assess-code-quality

This action assess code quality and tests signing for Sonatype.

## Input Parameters

If you do not set input parameters for publishing code quality test results on Sonarcloud or for testing the signing for
Sonatype, then these steps are skipped.

| Name | Required | Default Value | Type | Description |
| ----------------------- | :------: | :-----------: | :-----: | ------------------------------------------------------------------------------------------------------------- |
| download-lfs-files || false | boolean | Whether the Git checkout action should resolve LFS files or not |
| gradle-cache || true | boolean | Whether Gradle caching is enabled or not |
| gradle-version || wrapper | string | [Gradle version](https://github.com/gradle/gradle-build-action#use-a-specific-gradle-version) to be installed |
| java-distribution || microsoft | string | [Java distribution](https://github.com/actions/setup-java#supported-distributions) to be installed |
| java-version || 11 | string | Java version to be installed |
| sonar-organization || - | string | Organization for Sonarcloud |
| sonar-token || - | string | Token for Sonarcloud |
| signing-key-id || - | string | Key id for signing the Sonatype publication |
| signing-password || - | string | Password for signing the Sonatype publication |
| signing-secret-key-ring || - | string | Key ring (base64 encoded) for signing the Sonatype publication |
| working-directory || "." | string | Working directory of your Gradle artifacts |

## Usage

```yaml
steps:
- name: Test
uses: bakdata/ci-templates/actions/java-gradle-test@main
with:
sonar-token: ${{ secrets.sonar-token }} # (Optional) If not set, code quality tests are skipped
sonar-organization: ${{ secrets.sonar-organization }} # (Optional) If not set, code quality tests are skipped
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }} # (Optional) If not set, signing for Sonatype is not tested
signing-key-id: ${{ secrets.signing-key-id }} # (Optional) If not set, signing for Sonatype is not tested
signing-password: ${{ secrets.signing-password }} # (Optional) If not set, signing for Sonatype is not tested
java-distribution: "microsoft" # (Optional)
java-version: "11" # (Optional)
gradle-version: "wrapper" # (Optional)
working-directory: "." # (Optional)
```
82 changes: 82 additions & 0 deletions actions/java-gradle-assess-code-quality/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: "Assess code quality"
description: "Assess code quality and optionally test signing for Sonatype"

inputs:
download-lfs-files:
description: "Whether the Git checkout action should resolve LFS files or not. (Default is false)"
required: false
default: false
gradle-cache:
description: "Whether Gradle caching is enabled or not. (Default is true)"
required: false
default: true
gradle-version:
description: "Gradle version to be installed. (Default is wrapper)"
required: false
default: "wrapper"
java-distribution:
description: "Java distribution to be installed. (Default is microsoft)"
required: false
default: "microsoft"
java-version:
description: "Java version to be installed. (Default is 11)"
required: false
default: "11"
signing-key-id:
description: "Key id for signing the Sonatype publication."
required: false
signing-password:
description: "Password for signing the Sonatype publication."
required: false
signing-secret-key-ring:
description: "Key ring (base64 encoded) for signing the Sonatype publication."
required: false
sonar-organization:
description: "Organization for Sonarcloud."
required: false
sonar-token:
description: "Token for Sonarcloud."
required: false
working-directory:
description: "Working directory of your Gradle artifacts. (Default is .)"
required: false
default: "."

runs:
using: "composite"
steps:
- name: Check out repository
uses: bakdata/ci-templates/actions/[email protected]
with:
fetch-depth: 0
lfs: ${{ inputs.download-lfs-files }}

- name: Set up Gradle with version ${{ inputs.gradle-version }}
uses: bakdata/ci-templates/actions/[email protected]
with:
java-distribution: ${{ inputs.java-distribution }}
java-version: ${{ inputs.java-version }}
gradle-version: ${{ inputs.gradle-version }}
gradle-cache: ${{ inputs.gradle-cache }}

# sonar.branch.autoconfig.disabled is necessary for autocreation of projects on Sonarcloud to work
- name: Assess code quality
if: ${{ inputs.sonar-token != '' && inputs.sonar-organization != '' }}
run: ./gradlew -Dsonar.branch.autoconfig.disabled=true -Dsonar.host.url=https://sonarcloud.io -Dsonar.organization=${{ inputs.sonar-organization }} --info --stacktrace sonarqube
shell: bash
working-directory: ${{ inputs.working-directory }}
env:
SONAR_TOKEN: ${{ inputs.sonar-token }}

- name: Check if everything builds (incl. javadoc) for snapshot/release and signing works
if: ${{ inputs.signing-secret-key-ring != '' && inputs.signing-key-id != '' && inputs.signing-password != '' }}
run: |
export SIGNING_SECRET_KEY_RING_FILE="$(mktemp -d)/secring.gpg"
echo '${{ inputs.signing-secret-key-ring }}' | base64 -d > $SIGNING_SECRET_KEY_RING_FILE
./gradlew --info --stacktrace signSonatypePublication
shell: bash
working-directory: ${{ inputs.working-directory }}
env:
SIGNING_KEY_ID: ${{ inputs.signing-key-id }}
SIGNING_PASSWORD: ${{ inputs.signing-password }}
CI: true
29 changes: 8 additions & 21 deletions actions/java-gradle-test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,14 @@ This action runs Junit tests, publishes the test results and tests signing for S

## Input Parameters

If you do not set input parameters for publishing code quality test results on Sonarcloud or for testing the signing for
Sonatype, then these steps are skipped.

| Name | Required | Default Value | Type | Description |
| ----------------------- | :------: | :-----------: | :-----: | ------------------------------------------------------------------------------------------------------------- |
| sonar-token || - | string | Token for Sonarcloud |
| sonar-organization || - | string | Organization for Sonarcloud |
| signing-secret-key-ring || - | string | Key ring (base64 encoded) for signing the Sonatype publication |
| signing-key-id || - | string | Key id for signing the Sonatype publication |
| signing-password || - | string | Password for signing the Sonatype publication |
| java-distribution || microsoft | string | [Java distribution](https://github.com/actions/setup-java#supported-distributions) to be installed |
| java-version || 11 | string | Java version to be installed |
| gradle-version || wrapper | string | [Gradle version](https://github.com/gradle/gradle-build-action#use-a-specific-gradle-version) to be installed |
| gradle-cache || true | boolean | Whether Gradle caching is enabled or not |
| working-directory || "." | string | Working directory of your Gradle artifacts |
| download-lfs-files || false | boolean | Whether the Git checkout action should resolve LFS files or not |
| Name | Required | Default Value | Type | Description |
| ------------------ | :------: | :-----------: | :-----: | ------------------------------------------------------------------------------------------------------------- |
| download-lfs-files || false | boolean | Whether the Git checkout action should resolve LFS files or not |
| java-distribution || microsoft | string | [Java distribution](https://github.com/actions/setup-java#supported-distributions) to be installed |
| java-version || 11 | string | Java version to be installed |
| gradle-cache || true | boolean | Whether Gradle caching is enabled or not |
| gradle-version || wrapper | string | [Gradle version](https://github.com/gradle/gradle-build-action#use-a-specific-gradle-version) to be installed |
| working-directory || "." | string | Working directory of your Gradle artifacts |

## Usage

Expand All @@ -28,11 +20,6 @@ steps:
- name: Test
uses: bakdata/ci-templates/actions/java-gradle-test@main
with:
sonar-token: ${{ secrets.sonar-token }} # (Optional) If not set, code quality tests are skipped
sonar-organization: ${{ secrets.sonar-organization }} # (Optional) If not set, code quality tests are skipped
signing-secret-key-ring: ${{ secrets.signing-secret-key-ring }} # (Optional) If not set, signing for Sonatype is not tested
signing-key-id: ${{ secrets.signing-key-id }} # (Optional) If not set, signing for Sonatype is not tested
signing-password: ${{ secrets.signing-password }} # (Optional) If not set, signing for Sonatype is not tested
java-distribution: "microsoft" # (Optional)
java-version: "11" # (Optional)
gradle-version: "wrapper" # (Optional)
Expand Down
Loading

0 comments on commit 93bd71b

Please sign in to comment.