Skip to content

fix:

fix: #176

name: Build Artifacts
on:
push:
branches:
- main
- dev
paths-ignore:
- '.github/workflows/create_release.yml'
- '.gitignore'
- '.gitattributes'
- 'LICENSE'
- 'README.md'
- 'README_CN.md'
- 'docs/**'
- 'pic/**'
pull_request:
branches:
- main
paths-ignore:
- '.github/workflows/create_release.yml'
- '.gitignore'
- '.gitattributes'
- 'LICENSE'
- 'README.md'
- 'README_CN.md'
- 'docs/**'
- 'pic/**'
jobs:
build-linux:
runs-on: ubuntu-22.04
permissions:
contents: read
packages: read
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 10
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Build Deb
run: ./gradlew packageReleaseDeb
- name: Retrieve Deb Artifact Name
id: getFilename
run: |
find "$(pwd)/app/build/compose/binaries/main-release/deb" -type f -name "*.deb" -exec basename {} \;
echo "debFileName=$filename" >> "$GITHUB_OUTPUT"
- name: Build UberJar
run: ./gradlew packageReleaseUberJarForCurrentOS
- name: Retrieve Artifact Name
id: getJarFilename
run: |
find "$(pwd)/app/build/compose/jars" -type f -name "*.jar" -exec basename {} \;
echo "jarFileName=$filename" >> "$GITHUB_OUTPUT"
- name: Upload JAR Artifact
uses: actions/upload-artifact@v4
with:
name: catspy.jar
path: app/build/compose/jars/${{ steps.getJarFilename.outputs.jarFileName }}
retention-days: 1
- name: Upload Linux Artifact
uses: actions/upload-artifact@v4
with:
name: catspy_amd64.deb
path: app/build/compose/binaries/main-release/deb/${{ steps.getFilename.outputs.debFileName }}
retention-days: 1
build-windows:
runs-on: windows-latest
permissions:
contents: read
packages: read
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 10
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Build
run: ./gradlew packageReleaseMsi
continue-on-error: true
- name: Upload logs
uses: actions/upload-artifact@v4
with:
name: logs
path: app/build/compose/logs/packageMsi/
- name: Retrieve Artifact Name
id: getFilename
run: |
Get-ChildItem -Path "$(pwd)/app/build/compose/binaries/main-release/msi" -Filter "*.msi" | Select-Object -ExpandProperty BaseName
echo "msiFileName=$filename" >> "$GITHUB_OUTPUT"
- name: Upload Windows Artifact
uses: actions/upload-artifact@v4
with:
name: catspy_x64.msi
path: app/build/compose/binaries/main-release/msi/${{ steps.getFilename.outputs.msiFileName }}
retention-days: 1
build-macos:
runs-on: macos-latest
permissions:
contents: read
packages: read
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 10
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@v2
- name: Build
run: ./gradlew packageReleaseDmg
- name: Retrieve Artifact Name
id: getDmgFilename
run: |
find "$(pwd)/app/build/compose/binaries/main-release/dmg" -type f -name "*.dmg" -exec basename {} \;
echo "dmgFileName=$filename" >> "$GITHUB_OUTPUT"
- name: Upload macOS Artifact
uses: actions/upload-artifact@v4
with:
name: catspy_macos.dmg
path: app/build/compose/binaries/main-release/dmg/${{ steps.getDmgFilename.outputs.dmgFileName }}
retention-days: 1