diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index 649163f..5686c21 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -17,7 +17,7 @@ jobs: build: strategy: matrix: - java-version: [11, 17, 21] + java-version: [ 11, 17, 20 ] os: - macos-latest - ubuntu-latest @@ -33,7 +33,7 @@ jobs: - name: Set up JDK ${{ matrix.java-version }} uses: actions/setup-java@v3 with: - distribution: "zulu" + distribution: 'zulu' java-version: ${{ matrix.java-version }} - name: Validate Gradle wrapper @@ -43,7 +43,8 @@ jobs: id: cache-kotlin-konan uses: actions/cache@v3 with: - path: ~/.konan/**/* + path: | + ~/.konan/**/* key: kotlin-konan-${{ runner.os }} - name: Test with Gradle diff --git a/.github/workflows/publish-ios.yml b/.github/workflows/publish-ios.yml new file mode 100644 index 0000000..8b4ba2c --- /dev/null +++ b/.github/workflows/publish-ios.yml @@ -0,0 +1,37 @@ +name: publish-ios + +on: + workflow_dispatch: + +env: + JAVA_VERSION: 11 + JAVA_DISTRIBUTION: 'zulu' + ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.OSSRH_USERNAME}} + ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.OSSRH_PASSWORD}} + ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGN_SECRET_KEY }} + ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGN_SECRET_PWD }} + +jobs: + publish-ios: + runs-on: macos-latest + strategy: + max-parallel: 6 + matrix: + target: + - publishIosArm64PublicationToOSSRHRepository + - publishIosX64PublicationToOSSRHRepository + - publishIosSimulatorArm64PublicationToOSSRHRepository + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} + + - uses: gradle/gradle-build-action@v2 + + - name: Publish + run: ./gradlew ${{ matrix.target }} \ No newline at end of file diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cd65021..8ff6eb2 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -4,37 +4,93 @@ on: workflow_dispatch: env: + JAVA_VERSION: 11 + JAVA_DISTRIBUTION: 'zulu' ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.OSSRH_USERNAME}} ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.OSSRH_PASSWORD}} ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGN_SECRET_KEY }} ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGN_SECRET_PWD }} jobs: - publish: - runs-on: macos-latest - env: - GRADLE_OPTS: "-Dorg.gradle.jvmargs=-XX:MaxMetaspaceSize=512m" - + publish-base: + runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v3 - - name: Set up JDK - uses: actions/setup-java@v4 + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 with: - java-version: "11" - distribution: "zulu" - cache: "gradle" + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} - - name: Cache Kotlin Konan - id: cache-kotlin-konan - uses: actions/cache@v3 + - uses: gradle/gradle-build-action@v2 + + - name: Publish Multiplatform release + run: ./gradlew publishKotlinMultiplatformPublicationToOSSRHRepository + + - name: Publish JVM release + run: ./gradlew publishJvmPublicationToOSSRHRepository + + - name: Publish JS release + run: ./gradlew publishJsPublicationToOSSRHRepository + + publish-linux: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 with: - path: ~/.konan/**/* - key: kotlin-konan-${{ runner.os }} + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} - - name: Build - uses: gradle/gradle-build-action@v2 + - uses: gradle/gradle-build-action@v2 + + - name: Publish Linux x64 release + run: ./gradlew publishLinuxX64PublicationToOSSRHRepository + + publish-mac: + runs-on: macos-latest + strategy: + max-parallel: 6 + matrix: + target: + - publishMacosArm64PublicationToOSSRHRepository + - publishMacosX64PublicationToOSSRHRepository + - publishIosArm64PublicationToOSSRHRepository + - publishIosX64PublicationToOSSRHRepository + - publishIosSimulatorArm64PublicationToOSSRHRepository + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} + + - uses: gradle/gradle-build-action@v2 - name: Publish - run: ./gradlew publish --no-parallel --stacktrace + run: ./gradlew ${{ matrix.target }} + + publish-windows: + runs-on: windows-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up JDK ${{ env.JAVA_VERSION }} + uses: actions/setup-java@v3 + with: + java-version: ${{ env.JAVA_VERSION }} + distribution: ${{ env.JAVA_DISTRIBUTION }} + + - uses: gradle/gradle-build-action@v2 + + - name: Publish MinGW x64 release + run: ./gradlew publishMingwX64PublicationToOSSRHRepository \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 5b4c21e..a109e40 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "net.thauvin.erik.urlencoder" -version = "1.5.0-SNAPSHOT" +version = "1.4.0" dependencies { kover(projects.urlencoderLib)