Skip to content

create common app version for android and desktop on gradle.properties #9

create common app version for android and desktop on gradle.properties

create common app version for android and desktop on gradle.properties #9

Workflow file for this run

name: Release
on:
push:
tags:
- '*'
defaults:
run:
shell: bash
jobs:
release_desktop:
name: Release Desktop App
strategy:
fail-fast: false
matrix:
os: [ macos-latest, ubuntu-latest, windows-latest ]
runs-on: ${{ matrix.os }}
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v3
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle
- name: Make gradle executable
run: chmod +x ./gradlew
- name: Checkout Gradle Build Cache
uses: actions/cache@v4
with:
path: |
~/.gradle/caches
~/.gradle/wrapper
!~/.gradle/wrapper/dists/**/gradle*.zip
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }}
restore-keys: |
gradle-${{ runner.os }}-
- name: Build app
run: ./gradlew :desktop:assemble --stacktrace
- name: Build Release App
run: |
./gradlew packageUberJarForCurrentOS
./gradlew package
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: distributable-${{ matrix.os }}
if-no-files-found: ignore
path: |
desktop/build/**/*.deb
desktop/build/**/*.msi
desktop/build/**/*.dmg
desktop/build/compose/jars/*.jar
- name: Release
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87
with:
prerelease: ${{ contains(github.event.inputs.version, '-rc') || contains(github.event.inputs.version, '-b') || contains(github.event.inputs.version, '-a') }}
files: |
desktop/build/**/*.deb
desktop/build/**/*.msi
desktop/build/**/*.dmg
desktop/build/compose/jars/*.jar
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
release_android:
name: Release Android App
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v3
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'adopt'
cache: gradle
- name: Make gradle executable
run: chmod +x ./gradlew
- name: Build app
run: ./gradlew :android:assembleRelease --stacktrace
- name: Archive Artifacts
uses: actions/upload-artifact@v4
with:
name: android-app
if-no-files-found: ignore
path: android/build/outputs/apk/release/*.apk
- name: Release
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87
with:
prerelease: ${{ contains(github.event.inputs.version, '-rc') || contains(github.event.inputs.version, '-b') || contains(github.event.inputs.version, '-a') }}
files: |
android/build/outputs/apk/release/*.apk
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
changelog:
name: Changelog
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/')
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Build Changelog
id: github_release
uses: mikepenz/release-changelog-builder-action@v4
with:
configuration: ".github/config/configuration.json"
commitMode: true
ignorePreReleases: ${{ !contains(github.ref, '-') }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Release
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87
with:
body: ${{steps.github_release.outputs.changelog}}
prerelease: ${{ contains(github.event.inputs.version, '-rc') || contains(github.event.inputs.version, '-b') || contains(github.event.inputs.version, '-a') }}
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}