Skip to content

optimized code

optimized code #12

name: create release
on:
push:
branches: [ master ]
paths:
- "**/workflows-trigger.properties"
jobs:
current-time:
runs-on: ubuntu-latest
name: get current time
outputs:
currentTime: ${{steps.currentTime.outputs.formattedTime}}
steps:
- id: currentTime
uses: josStorer/get-current-time@v2
with:
format: YYYY.MM.DD
utcOffset: "+08:00"
create-windows-package:
runs-on: windows-latest
name: create windows package
needs: current-time
steps:
- name: setup jdk
uses: actions/setup-java@v4
with:
java-version: "18"
distribution: "oracle"
architecture: x64
- name: checkout
uses: actions/checkout@v4
- name: grant execute permission for gradlew
run: chmod +x gradlew
- name: assembleRelease
run: ./gradlew assembleRelease
- name: packageReleaseExe
run: ./gradlew packageReleaseExe
- name: packageReleaseMsi
run: ./gradlew packageReleaseMsi
- name: packageReleaseAppImage
run: ./gradlew packageReleaseAppImage
- name: rename File
run: |
mv ./composeApp/build/compose/binaries/main-release/msi/compose-multiplatform-tetris-1.0.0.msi ./composeApp/build/compose/binaries/main-release/msi/compose-multiplatform-tetris-windows-x64.msi
mv ./composeApp/build/compose/binaries/main-release/exe/compose-multiplatform-tetris-1.0.0.exe ./composeApp/build/compose/binaries/main-release/exe/compose-multiplatform-tetris-windows-x64.exe
- name: zip appImage
uses: thedoctor0/[email protected]
with:
type: "zip"
filename: "compose-multiplatform-tetris-windows-x64.zip"
directory: "./composeApp/build/compose/binaries/main-release/app"
- name: create a release
uses: ncipollo/release-action@v1
with:
artifacts: "**/compose-multiplatform-tetris-android.apk,**/compose-multiplatform-tetris-windows-x64.exe,**/compose-multiplatform-tetris-windows-x64.msi,**/compose-multiplatform-tetris-windows-x64.zip"
body: "create by workflows"
allowUpdates: true
artifactErrorsFailBuild: true
generateReleaseNotes: false
tag: ${{needs.current-time.outputs.currentTime}}
name: ${{needs.current-time.outputs.currentTime}}
token: ${{secrets.ACTION_TOKEN}}
create-macos-package:
strategy:
matrix:
os: [ macos-13, macos-14 ]
runs-on: ${{ matrix.os }}
name: create macos package
needs: current-time
steps:
- if: matrix.os == 'macos-13'
name: setup jdk
uses: actions/setup-java@v4
with:
java-version: "18"
distribution: "oracle"
architecture: x64
- if: matrix.os == 'macos-14'
name: setup jdk
uses: actions/setup-java@v4
with:
java-version: "18"
distribution: "oracle"
architecture: aarch64
- name: checkout
uses: actions/checkout@v4
- name: grant execute permission for gradlew
run: chmod +x gradlew
- name: packageReleaseDmg
run: ./gradlew packageReleaseDmg
- if: matrix.os == 'macos-13'
name: rename File
run: |
mv /Users/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/dmg/compose-multiplatform-tetris-1.0.0.dmg /Users/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/dmg/compose-multiplatform-tetris-macos-x64.dmg
- if: matrix.os == 'macos-14'
name: rename File
run: |
mv /Users/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/dmg/compose-multiplatform-tetris-1.0.0.dmg /Users/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/dmg/compose-multiplatform-tetris-macos-arm64.dmg
- name: create a release
uses: ncipollo/release-action@v1
with:
artifacts: "**/*.dmg"
body: "create by workflows"
allowUpdates: true
artifactErrorsFailBuild: true
generateReleaseNotes: false
tag: ${{needs.current-time.outputs.currentTime}}
name: ${{needs.current-time.outputs.currentTime}}
token: ${{secrets.ACTION_TOKEN}}
create-linux-package:
runs-on: ubuntu-latest
name: create linux package
needs: current-time
steps:
- name: setup jdk
uses: actions/setup-java@v4
with:
java-version: "18"
distribution: "oracle"
architecture: x64
- name: checkout
uses: actions/checkout@v4
- name: grant execute permission for gradlew
run: chmod +x gradlew
- name: packageReleaseDeb
run: ./gradlew packageReleaseDeb
- name: packageReleaseRpm
run: ./gradlew packageReleaseRpm
- name: rename File
run: |
mv /home/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/deb/compose-multiplatform-tetris_1.0.0_amd64.deb /home/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/deb/compose-multiplatform-tetris-linux-amd64.deb
mv /home/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/rpm/compose-multiplatform-tetris-1.0.0-1.x86_64.rpm /home/runner/work/compose-multiplatform-tetris/compose-multiplatform-tetris/composeApp/build/compose/binaries/main-release/rpm/compose-multiplatform-tetris-linux-x86_64.rpm
- name: create a release
uses: ncipollo/release-action@v1
with:
artifacts: "**/*.deb,**/*.rpm"
body: "create by workflows"
allowUpdates: true
artifactErrorsFailBuild: true
generateReleaseNotes: false
tag: ${{needs.current-time.outputs.currentTime}}
name: ${{needs.current-time.outputs.currentTime}}
token: ${{secrets.ACTION_TOKEN}}