Skip to content

Commit

Permalink
Refactor Gradle workflows
Browse files Browse the repository at this point in the history
Uses the actions found in the Kotlin mpp template gallery[1].

[1] https://kmp.jetbrains.com/#templateGallery
  • Loading branch information
michaelbull committed Mar 2, 2024
1 parent d3d0381 commit 402999a
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 139 deletions.
56 changes: 56 additions & 0 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Build

on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
workflow_call:

permissions:
contents: read

jobs:
build:
strategy:
matrix:
include:
- target: build
os: ubuntu-latest
- target: iosX64Test
os: macos-latest
- target: macosX64Test
os: macos-latest
- target: tvosX64Test
os: macos-latest
- target: watchosX64Test
os: macos-latest
- target: mingwX64Test
os: windows-latest

runs-on: ${{ matrix.os }}

steps:
- name: Checkout Project
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2

- uses: actions/cache@v3
with:
path: |
~/.konan
key: ${{ runner.os }}-${{ hashFiles('**/.lock') }}

- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Build with Gradle Wrapper
run: ./gradlew ${{ matrix.target }}
139 changes: 0 additions & 139 deletions .github/workflows/ci.yaml

This file was deleted.

97 changes: 97 additions & 0 deletions .github/workflows/deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Deploy

on: workflow_dispatch

permissions:
contents: read

jobs:
build:
uses: ./.github/workflows/build.yaml

deploy:
needs: build

strategy:
matrix:
include:
- target: publishAndroidNativeArm32PublicationToMavenRepository
os: ubuntu-latest
- target: publishAndroidNativeArm64PublicationToMavenRepository
os: ubuntu-latest
- target: publishAndroidNativeX64PublicationToMavenRepository
os: ubuntu-latest
- target: publishAndroidNativeX86PublicationToMavenRepository
os: ubuntu-latest
- target: publishJsPublicationToMavenRepository
os: ubuntu-latest
- target: publishJvmPublicationToMavenRepository
os: ubuntu-latest
- target: publishKotlinMultiplatformPublicationToMavenRepository
os: ubuntu-latest
- target: publishLinuxArm64PublicationToMavenRepository
os: ubuntu-latest
- target: publishLinuxX64PublicationToMavenRepository
os: ubuntu-latest
- target: publishWasmJsPublicationToMavenRepository
os: ubuntu-latest
- target: publishMingwX64PublicationToMavenRepository
os: windows-latest
- target: publishIosArm64PublicationToMavenRepository
os: macos-latest
- target: publishIosSimulatorArm64PublicationToMavenRepository
os: macos-latest
- target: publishIosX64PublicationToMavenRepository
os: macos-latest
- target: publishMacosArm64PublicationToMavenRepository
os: macos-latest
- target: publishMacosX64PublicationToMavenRepository
os: macos-latest
- target: publishTvosArm64PublicationToMavenRepository
os: macos-latest
- target: publishTvosSimulatorArm64PublicationToMavenRepository
os: macos-latest
- target: publishTvosX64PublicationToMavenRepository
os: macos-latest
- target: publishWatchosArm32PublicationToMavenRepository
os: macos-latest
- target: publishWatchosArm64PublicationToMavenRepository
os: macos-latest
- target: publishWatchosSimulatorArm64PublicationToMavenRepository
os: macos-latest
- target: publishWatchosX64PublicationToMavenRepository
os: macos-latest

runs-on: ${{ matrix.os }}

env:
ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.OSSRH_USERNAME }}
ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.OSSRH_PASSWORD }}
ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.SIGNING_KEY_ID }}
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.SIGNING_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.SIGNING_PASSWORD }}

steps:
- name: Checkout Project
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2

- uses: actions/cache@v3
with:
path: |
~/.konan
key: ${{ runner.os }}-${{ hashFiles('**/.lock') }}

- name: Setup JDK
uses: actions/setup-java@v3
with:
distribution: temurin
java-version: 8

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3

- name: Publish with Gradle Wrapper
run: ./gradlew ${{ matrix.target }}

0 comments on commit 402999a

Please sign in to comment.