Skip to content

Fix attachment sending #6

Fix attachment sending

Fix attachment sending #6

Workflow file for this run

name: Build and Publish Release
on:
push:
tags:
- "v*.*.*"
env:
PROJECT_NAME: chat-frontend
jobs:
build-desktop:
name: Build Desktop (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
name: x86_64-unknown-linux-gnu.tar.gz
- target: aarch-64-apple-darwin
os: macOS-latest
name: aarch-64-apple-darwin.tar.gz
- target: x86_64-pc-windows-msvc
os: windows-latest
name: x86_64-pc-windows-msvc.zip
steps:
- name: "Setup | Checkout"
uses: actions/checkout@v4
- name: "Setup | JDK 21"
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: "Setup | Gradle"
uses: gradle/actions/setup-gradle@v4
- name: "Setup | Extract tag name"
shell: bash
id: extract_tag
run: |
tag=$(echo ${GITHUB_REF#refs/tags/})
echo "tag=$tag" >> $GITHUB_OUTPUT
- name: "Build | Desktop Application"
run: ./gradlew :composeApp:createReleaseDistributable
- name: "Package | Desktop Application (Windows)"
if: matrix.os == 'windows-latest'
shell: bash
run: |
cd composeApp/build/compose/binaries/main-release/app
mkdir -p ../artifacts
7z a ../artifacts/${{ env.PROJECT_NAME }}-${{ steps.extract_tag.outputs.tag }}-${{ matrix.name }} .
cd -
- name: "Package | Desktop Application (-nix)"
if: matrix.os != 'windows-latest'
shell: bash
run: |
cd composeApp/build/compose/binaries/main-release/app
mkdir -p ../artifacts
tar czvf ../artifacts/${{ env.PROJECT_NAME }}-${{ steps.extract_tag.outputs.tag }}-${{ matrix.name }} .
cd -
- name: Post Setup | Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.PROJECT_NAME }}-${{ steps.extract_tag.outputs.tag }}-${{ matrix.name }}
path: composeApp/build/compose/binaries/main-release/artifacts
overwrite: true
build-android:
name: Build Android
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'jetbrains'
cache: 'gradle'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Gradle
uses: gradle/actions/setup-gradle@v4
- name: "Setup | Extract tag name"
shell: bash
id: extract_tag
run: |
tag=$(echo ${GITHUB_REF#refs/tags/})
echo "tag=$tag" >> $GITHUB_OUTPUT
- name: Build | Android APK
run: ./gradlew :composeApp:assembleRelease
- name: Package | Android APK
shell: bash
run: |
cd composeApp/build/outputs/apk/release
mkdir artifacts
mv composeApp-release.apk artifacts/${{ env.PROJECT_NAME }}-${{ steps.extract_tag.outputs.tag }}.apk
cd -
- name: Post Setup | Upload artifacts
uses: actions/upload-artifact@v4
with:
name: ${{ env.PROJECT_NAME }}-${{ steps.extract_tag.outputs.tag }}-android
path: composeApp/build/outputs/apk/release/artifacts
overwrite: true
github_release:
name: Create GitHub Release
needs: [build-desktop, build-android]
runs-on: ubuntu-latest
steps:
- name: Setup | Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup | Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
merge-multiple: true
- name: Setup | Extract version
shell: bash
id: extract_version
run: |
version=$(echo ${GITHUB_REF#refs/tags/v})
echo "version=$version" >> $GITHUB_OUTPUT
- name: Build | Publish
uses: softprops/action-gh-release@v2
with:
files: artifacts/*
env:
GITHUB_TOKEN: ${{ secrets.DEPLOY_TOKEN }}