fix: #176
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |