Fix test artifact names

- Fixes empty parens in Linux artifacts
- Fixes invalid artifact names containing *
- Fixes Windows artifacts not being different from Linux ones
This commit is contained in:
Juuz
2022-09-07 17:35:19 +03:00
parent d2ece2e409
commit 75c610358e
2 changed files with 25 additions and 5 deletions

View File

@@ -56,14 +56,15 @@ jobs:
steps:
- uses: actions/checkout@v2
- run: gradle test --tests ${{ matrix.test }} --stacktrace --warning-mode fail
- run: gradle printActionsTestName --name="${{ matrix.test }}" test --tests ${{ matrix.test }} --stacktrace --warning-mode fail
env:
TEST_WARNING_MODE: fail
id: test
- uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: ${{ matrix.test }} (${{ matrix.java }}) Results
name: ${{ steps.test.outputs.test }} Results
path: build/reports/
run_tests_windows:
@@ -83,14 +84,15 @@ jobs:
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- run: ./gradlew test --tests ${{ matrix.test }} --stacktrace --warning-mode fail
- run: ./gradlew printActionsTestName --name="${{ matrix.test }}" --tests ${{ matrix.test }} --stacktrace --warning-mode fail
env:
TEST_WARNING_MODE: fail
id: test
- uses: actions/upload-artifact@v2
if: ${{ failure() }}
with:
name: ${{ matrix.test }} (${{ matrix.java }}) Results
name: ${{ steps.test.outputs.test }} (${{ matrix.java }}) Results (Windows)
path: build/reports/
# Special case this test to run across all os's

View File

@@ -329,4 +329,22 @@ task downloadGradleSources() {
println("Downloading (${url}) to (${gradleApiSources})")
gradleApiSources << new URL(url).newInputStream()
}
}
}
task printActionsTestName(type: PrintActionsTestName) {
}
/**
* Replaces invalid characters in test names for GitHub Actions artifacts.
*/
class PrintActionsTestName extends DefaultTask {
@Input
@Option(option = "name", description = "The test name")
String testName
@TaskAction
def run() {
def sanitised = testName.replace('*', '_')
println "::set-output name=test::$sanitised"
}
}