Skip to content

Commit

Permalink
Adding release configurations
Browse files Browse the repository at this point in the history
  • Loading branch information
orchestr7 committed Feb 10, 2024
1 parent 4483a47 commit 384d910
Show file tree
Hide file tree
Showing 34 changed files with 534 additions and 517 deletions.
11 changes: 7 additions & 4 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@ on:

env:
GRADLE_OPTS: -Dorg.gradle.daemon=true -Dorg.gradle.parallel=true -Dorg.gradle.welcome=never
GPG_SEC: ${{ secrets.PGP_SEC }}
GPG_PASSWORD: ${{ secrets.PGP_PASSWORD }}
PGP_SEC: ${{ secrets.PGP_SEC }}
PGP_PASSWORD: ${{ secrets.PGP_PASSWORD }}
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}

jobs:
build:
name: 'Build (Java ${{ matrix.java-version }})'
runs-on: ubuntu-latest
runs-on: macos-latest
strategy:
# We need multiple builds to run even if the 1st one is failing, because
# test failures may be Java-specific (or the tests themselves flaky).
Expand Down Expand Up @@ -126,14 +128,15 @@ jobs:
gradle-version: wrapper
arguments: |
publish
-Preckon.stage=snapshot
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

report:
name: 'Publish JUnit test results (Java ${{ matrix.java-version }})'
if: ${{ always() }}
needs: build
runs-on: ubuntu-latest
runs-on: macos-latest
strategy:
fail-fast: false
matrix:
Expand Down
45 changes: 0 additions & 45 deletions .github/workflows/publish-macosArm64.yml

This file was deleted.

100 changes: 32 additions & 68 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,96 +1,60 @@
name: 'Release'
name: Create release to Maven Central

on:
push:
tags:
- 'v*'

env:
GRADLE_OPTS: -Dorg.gradle.daemon=true -Dorg.gradle.parallel=true -Dorg.gradle.welcome=never
GPG_SEC: ${{ secrets.PGP_SEC }}
GPG_PASSWORD: ${{ secrets.PGP_PASSWORD }}
PGP_SEC: ${{ secrets.PGP_SEC }}
PGP_PASSWORD: ${{ secrets.PGP_PASSWORD }}
SONATYPE_USER: ${{ secrets.SONATYPE_USER }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}

jobs:
release:
name: 'Release'
name: Build release
runs-on: ${{ matrix.os }}

strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest, macos-latest ]

os: [ macos-latest ]
steps:
- uses: actions/checkout@v4
- name: Checkout
uses: actions/checkout@v4
with:
# Fetch Git tags, so that semantic version can be calculated.
# Alternatively, run `git fetch --prune --unshallow --tags` as the
# next step, see
# /~https://github.com/actions/checkout/issues/206#issuecomment-607496604.
# release workflow should have access to all tags
fetch-depth: 0

- name: 'Set up Java 17'
uses: actions/setup-java@v4
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
java-version: 17
java-version: 11
distribution: zulu
java-package: jdk+fx

- name: 'Cache ~/.konan'
id: cache-konan
uses: actions/cache@v4
with:
path: |
~/.konan
key: ${{ runner.os }}-konan-${{ hashFiles('**/*.gradle.kts', '**/gradle-wrapper.properties') }}-release
restore-keys: |
${{ runner.os }}-konan-${{ hashFiles('**/*.gradle.kts', '**/gradle-wrapper.properties') }}-
${{ runner.os }}-konan-
- name: 'Publish a release (Linux)'
id: publish-linux
if: ${{ runner.os == 'Linux' }}
uses: gradle/gradle-build-action@v3
with:
gradle-version: wrapper
arguments: |
build
publishJvmPublicationToGitHubRepository
publishKotlinMultiplatformPublicationToGitHubRepository
publishLinuxX64PublicationToGitHubRepository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: 'Publish a release (Windows)'
id: publish-windows
if: ${{ runner.os == 'Windows' }}
uses: gradle/gradle-build-action@v3
with:
gradle-version: wrapper
arguments: |
build
publishMingwX64PublicationToGitHubRepository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: 'Publish a release (Mac OS X)'
id: publish-macosx
if: ${{ runner.os == 'macOS' }}
uses: gradle/gradle-build-action@v3
- name: Status git before
run: git status
- uses: burrunan/gradle-cache-action@v1
with:
gradle-version: wrapper
arguments: |
build
publishMacosX64PublicationToGitHubRepository
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Until /~https://github.com/burrunan/gradle-cache-action/issues/42 is addressed, gradle should be run as a separate step
- name: gradle release from tag
# if workflow is triggered after push of a tag, deploy full release
if: ${{ startsWith(github.ref, 'refs/tags/') }}
run: ./gradlew
--console=rich
-Prelease
-PgprUser=${{ github.actor }}
-PgprKey=${{ secrets.GITHUB_TOKEN }}
publishToSonatype
- name: Status git after
if: ${{ always() }}
run: git status

github_release:
needs: release
name: 'Github Release'
name: Create Github Release
runs-on: ubuntu-latest
steps:
- name: 'Github Release'
- name: Create Github Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,6 @@
/.run/
/.settings/
/build/
/gradle/plugins/.gradle/
/gradle/plugins/build/
/core/build/
Loading

0 comments on commit 384d910

Please sign in to comment.