From 9fc3f6c0cdbcf7e22a6e75dc96a15f265d4e87b6 Mon Sep 17 00:00:00 2001 From: Eliezer Graber Date: Thu, 14 Mar 2024 18:30:04 -0400 Subject: [PATCH] Update PR checks --- .github/workflows/pr.yml | 104 ++++++++++++++++-- .../kotlin/com/eygraber/uri/AppleUriTest.kt | 2 + .../kotlin/com/eygraber/uri/UriTests.kt | 7 +- 3 files changed, 102 insertions(+), 11 deletions(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index a80a763..c41e2df 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -16,11 +16,31 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - check: + assemble: runs-on: macos-14 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - uses: actions/setup-java@v4.2.1 + with: + distribution: 'zulu' + java-version-file: .ci-java-version + + - uses: gradle/wrapper-validation-action@v2.1.1 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: wrapper + gradle-home-cache-cleanup: true + - name: Run assemble task + run: ./gradlew assemble + + detekt: + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: actions/setup-java@v4.2.1 with: @@ -35,14 +55,84 @@ jobs: gradle-version: wrapper gradle-home-cache-cleanup: true - - name: Run checks - run: ./format --no-format && ./gradlew check detektAppleMain detektJvmMain detektCommonJsMain detektMetadataMain -x wasmBrowserTest -x wasmNodeTest + - name: Run detekt + run: ./gradlew detektAll + + detekt-apple: + runs-on: macos-14 + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - uses: actions/setup-java@v4.2.1 + with: + distribution: 'zulu' + java-version-file: .ci-java-version + + - uses: gradle/wrapper-validation-action@v2.1.1 - checkWindows: + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: wrapper + gradle-home-cache-cleanup: true + + - name: Run detekt for apple targets + run: ./gradlew detektAppleMain detektAppleTest + + detekt-windows: runs-on: windows-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - uses: actions/setup-java@v4.2.1 + with: + distribution: 'zulu' + java-version-file: .ci-java-version + + - uses: gradle/wrapper-validation-action@v2.1.1 + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: wrapper + gradle-home-cache-cleanup: true + + - name: Run detekt for windows targets + run: ./gradlew detektMingwMain detektMingwTest + + ktlint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - name: Run ktlint + run: ./format --no-format + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + + - uses: actions/setup-java@v4.2.1 + with: + distribution: 'zulu' + java-version-file: .ci-java-version + + - uses: gradle/wrapper-validation-action@v2.1.1 + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-version: wrapper + gradle-home-cache-cleanup: true + + - name: Run checks + run: ./gradlew lintRelease + + test: + runs-on: macos-14 steps: - - uses: actions/checkout@v4.1.1 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - uses: actions/setup-java@v4.2.1 with: @@ -58,7 +148,7 @@ jobs: gradle-home-cache-cleanup: true - name: Run checks - run: ./gradlew mingwX64Test detektMingwX64Main + run: ./gradlew allTests -x wasmBrowserTest -x wasmNodeTest -x testDebug env: GRADLE_OPTS: -Dorg.gradle.daemon=false -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx4g -Xms512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:MaxMetaspaceSize=1024m" diff --git a/uri/src/appleTest/kotlin/com/eygraber/uri/AppleUriTest.kt b/uri/src/appleTest/kotlin/com/eygraber/uri/AppleUriTest.kt index 33ef6e4..3e5aa2f 100644 --- a/uri/src/appleTest/kotlin/com/eygraber/uri/AppleUriTest.kt +++ b/uri/src/appleTest/kotlin/com/eygraber/uri/AppleUriTest.kt @@ -5,12 +5,14 @@ import kotlin.test.Test import kotlin.test.assertEquals class AppleUriTest { + @Suppress("FunctionNaming") @Test fun nsurl_toUri_convertsCorrectly() { val nsurl = NSURL.URLWithString("https://google.com")!! assertEquals(nsurl.absoluteString!!, nsurl.toUri().toString()) } + @Suppress("FunctionNaming") @Test fun uri_toNSURL_convertsCorrectly() { val uri = Uri.parse("https://google.com") diff --git a/uri/src/commonTest/kotlin/com/eygraber/uri/UriTests.kt b/uri/src/commonTest/kotlin/com/eygraber/uri/UriTests.kt index 3567c2c..4f9fd93 100644 --- a/uri/src/commonTest/kotlin/com/eygraber/uri/UriTests.kt +++ b/uri/src/commonTest/kotlin/com/eygraber/uri/UriTests.kt @@ -114,7 +114,6 @@ class UriTest { .encodedQuery("foo=bar") .encodedFragment("tee") .build() - assertFalse(Uri.EMPTY.equals(null)) assertEquals(a, b) assertEquals(b, c) assertEquals(c, a) @@ -268,11 +267,11 @@ class UriTest { // Make sure the original URI is still intact. assertEquals(2, first.pathSegments.size) assertEquals("b", first.lastPathSegment) - try { + runCatching { first.pathSegments[2] fail() - } - catch(e: IndexOutOfBoundsException) { + }.onFailure { + if(it !is IndexOutOfBoundsException) throw it } assertEquals(null, Uri.EMPTY.lastPathSegment) val withC = Uri.parse("foo:/a/b/").buildUpon().appendPath("c").build()