-
Notifications
You must be signed in to change notification settings - Fork 0
53 lines (49 loc) · 3.29 KB
/
DEPLOY.yml
File metadata and controls
53 lines (49 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
name: DEPLOY
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
forced_version:
description: 'FORCED_VERSION to use'
required: true
type: string
#permissions:
# contents: write
# discussions: write
env:
CI: true
FORCED_VERSION: ${{ inputs.forced_version || github.ref }}
# Vanniktech maven-publish plugin reads these exact Gradle project property names for signing
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEY }}
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
# Vanniktech maven-publish plugin reads these for Central Portal auth
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.ORG_KORGE_SONATYPE_USERNAME }}
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.ORG_KORGE_SONATYPE_PASSWORD }}
JAVA_VERSION: 21
JAVA_DISTRIBUTION: zulu
jobs:
publish:
strategy:
fail-fast: false
matrix:
include:
- { os: ubuntu-latest, publishTask: "publishLinuxX64PublicationToMavenCentral publishLinuxArm64PublicationToMavenCentral" }
- { os: ubuntu-latest, publishTask: "publishMingwX64PublicationToMavenCentral" }
- { os: ubuntu-latest, publishTask: "publishAndroidReleasePublicationToMavenCentral" }
- { os: ubuntu-latest, publishTask: "publishKotlinMultiplatformPublicationToMavenCentral publishJvmPublicationToMavenCentral" }
- { os: ubuntu-latest, publishTask: "publishJsPublicationToMavenCentral publishWasmJsPublicationToMavenCentral" }
- { os: macos-latest, publishTask: "publishMacosX64PublicationToMavenCentral publishMacosArm64PublicationToMavenCentral" }
- { os: macos-latest, publishTask: "publishTvosArm64PublicationToMavenCentral publishTvosSimulatorArm64PublicationToMavenCentral publishTvosX64PublicationToMavenCentral" }
- { os: macos-latest, publishTask: "publishIosArm64PublicationToMavenCentral publishIosSimulatorArm64PublicationToMavenCentral publishIosX64PublicationToMavenCentral" }
- { os: macos-latest, publishTask: "publishWatchosArm64PublicationToMavenCentral publishWatchosArm32PublicationToMavenCentral publishWatchosDeviceArm64PublicationToMavenCentral publishWatchosSimulatorArm64PublicationToMavenCentral" }
timeout-minutes: 300
runs-on: ${{ matrix.os }}
steps:
- { name: "Checkout", uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd } # https://github.com/actions/checkout/releases/tag/v6.0.2
- { name: "Use Node.js 24.x", uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f, with: { node-version: 24.x } } # https://github.com/actions/setup-node/releases/tag/v6.3.0
- { name: "Set up JDK", uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654, with: { distribution: "${{ env.JAVA_DISTRIBUTION }}", java-version: "${{ env.JAVA_VERSION }}" } } # https://github.com/actions/setup-java/releases/tag/v5.2.0
- { name: "Prepare Gradle", uses: gradle/actions/setup-gradle@39e147cb9de83bb9910b8ef8bd7fff0ee20fcd6f } # https://github.com/gradle/actions/releases/tag/v6.0.1
- { name: "Initialize Gradle", run: "./gradlew --no-configuration-cache" }
- { name: "Publish to Maven Central", run: "./gradlew --no-configuration-cache --parallel --max-workers=8 ${{ matrix.publishTask }}" }