name: Package on: workflow_dispatch permissions: contents: read jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-2022, ubuntu-20.04, macos-13] steps: - uses: actions/checkout@v4 with: submodules: true - name: Set up JDK 22.0.2 uses: actions/setup-java@v4 with: distribution: 'temurin' java-version: '22.0.2' - name: Show Build Versions run: ./gradlew -v - name: Build with Gradle run: ./gradlew jpackage - name: Package zip distribution if: ${{ runner.os == 'Windows' || runner.os == 'macOS' }} run: ./gradlew packageZipDistribution - name: Package tar distribution if: ${{ runner.os == 'Linux' }} run: ./gradlew packageTarDistribution - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: Sparrow Build - ${{ runner.os }} path: | build/jpackage/* !build/jpackage/Sparrow/ - name: Headless build with Gradle if: ${{ runner.os == 'Linux' }} run: ./gradlew -Djava.awt.headless=true clean jpackage - name: Package headless tar distribution if: ${{ runner.os == 'Linux' }} run: ./gradlew -Djava.awt.headless=true packageTarDistribution - name: Rename Headless Artifacts if: ${{ runner.os == 'Linux' }} run: for f in build/jpackage/sparrow*; do mv -v "$f" "${f/sparrow/sparrow-server}"; done; - name: Upload Headless Artifact if: ${{ runner.os == 'Linux' }} uses: actions/upload-artifact@v4 with: name: Sparrow Build - ${{ runner.os }} Headless path: | build/jpackage/* !build/jpackage/Sparrow/