name: Package on: workflow_dispatch jobs: build: runs-on: ${{ matrix.os }} strategy: matrix: os: [windows-latest, ubuntu-latest, macos-latest] steps: - uses: actions/checkout@v3 with: submodules: true - name: Set up JDK 18.0.1 uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '18.0.1' - name: Show Build Versions run: ./gradlew -v - name: Cache Gradle packages uses: actions/cache@v3 with: path: ~/.gradle/caches key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle') }} restore-keys: ${{ runner.os }}-gradle - 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@v2 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 packageTarDistribution - name: Upload Headless Artifact if: ${{ runner.os == 'Linux' }} uses: actions/upload-artifact@v2 with: name: Sparrow Build - ${{ runner.os }} Headless path: | build/jpackage/* !build/jpackage/Sparrow/