summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornea <nea@nea.moe>2023-08-15 20:33:58 +0200
committernea <nea@nea.moe>2023-08-15 20:46:14 +0200
commitde694f30b5e2f6fd62a00e5a622abe0a2411afb9 (patch)
treee442f960c57000a2f6b763d3dcb7d945593cbb9d
parent54b0f2ea841d2ce3895713415481271aa3034b30 (diff)
downloadnealisp-de694f30b5e2f6fd62a00e5a622abe0a2411afb9.tar.gz
nealisp-de694f30b5e2f6fd62a00e5a622abe0a2411afb9.tar.bz2
nealisp-de694f30b5e2f6fd62a00e5a622abe0a2411afb9.zip
Add github actions testing
-rw-r--r--.github/workflows/build.yml29
-rw-r--r--.github/workflows/gradle-wrapper-validation.yml12
-rw-r--r--test/src/TestLisp.kt4
3 files changed, 45 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
new file mode 100644
index 0000000..067a342
--- /dev/null
+++ b/.github/workflows/build.yml
@@ -0,0 +1,29 @@
+name: Build
+on:
+ - push
+ - pull_request
+
+jobs:
+ build:
+ name: Test
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ name: Checkout repository
+ - name: Set up JDK 8
+ uses: actions/setup-java@v3
+ with:
+ distribution: temurin
+ java-version: 8
+ - name: Set up gradle cache
+ uses: gradle/gradle-build-action@v2
+ - name: Build with gradle
+ run: ./gradlew clean build --stacktrace
+ - name: Test with gradle
+ run: ./gradlew test testLisps --stacktrace
+ - name: Generate markdown test report
+ if: ${{ !cancelled() }}
+ run: |
+ curl -L https://github.com/kitproj/junit2md/releases/download/v0.1.0/junit2md_0.1.0_Linux_x86_64.tar.gz | tar -zxvf - junit2md
+ chmod +x junit2md
+ ./junit2md < build/test-results/nealisp/results.xml > "$GITHUB_STEP_SUMMARY" \ No newline at end of file
diff --git a/.github/workflows/gradle-wrapper-validation.yml b/.github/workflows/gradle-wrapper-validation.yml
new file mode 100644
index 0000000..f37f3e2
--- /dev/null
+++ b/.github/workflows/gradle-wrapper-validation.yml
@@ -0,0 +1,12 @@
+name: "Validate Gradle Wrapper"
+on: [push, pull_request]
+
+jobs:
+ validation:
+ name: "Validation"
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ name: Checkout repository
+ - uses: gradle/wrapper-validation-action@v1
+ name: Validate wrappers \ No newline at end of file
diff --git a/test/src/TestLisp.kt b/test/src/TestLisp.kt
index 1f0c424..1f287ca 100644
--- a/test/src/TestLisp.kt
+++ b/test/src/TestLisp.kt
@@ -3,6 +3,7 @@ import moe.nea.lisp.LispParser
import moe.nea.lisp.TestResultFormatter
import java.io.File
import javax.xml.stream.XMLOutputFactory
+import kotlin.system.exitProcess
object T
@@ -21,4 +22,7 @@ fun main() {
.createXMLStreamWriter(File("TestOutput.xml").bufferedWriter())
TestResultFormatter.write(w, listOf(testResults))
w.close()
+ if (testResults.allTests.any { it.failures.isNotEmpty() }) {
+ exitProcess(1)
+ }
}