Skip to content

2024-20-29

2024-20-29 #103

Workflow file for this run

# Builds installers (msi, deb, dmg) for Windows, Linux and Mac-OS and attaches the installers for the
# Pac-Man 3D game version to a release (when it is published via the GitHub UI).
name: Release
on:
release:
types: [ published ] # if this is omitted, the workflow starts 3 times when creating a release!
jobs:
build-and-upload-artifacts:
strategy:
matrix:
os: [ windows-latest, ubuntu-latest, macos-latest ]
java: [ '21' ]
fail-fast: false
runs-on: ${{ matrix.os }}
name: Build and upload artifacts for ${{ matrix.os }} JDK ${{ matrix.java }}
steps:
- name: Git checkout
uses: actions/checkout@v4
- name: Set up JDK
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Echo JAVA_HOME
run: echo $JAVA_HOME
- name: Verify Gradle Wrapper
uses: gradle/wrapper-validation-action@v2
- name: Execute gradle jpackage
run: ./gradlew --info --stacktrace jpackage
- name: Upload Windows installer
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: pacman-ui-3d/build/jpackage/*.msi
if-no-files-found: ignore
- name: Upload Linux deb
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: pacman-ui-3d/build/jpackage/*.deb
if-no-files-found: ignore
- name: Upload Mac-OS dmg
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}
path: pacman-ui-3d/build/jpackage/*.dmg
if-no-files-found: ignore
download-and-release-artifacts:
needs: build-and-upload-artifacts
runs-on: ubuntu-latest
steps:
- name: Download artifacts created for 3D game version
uses: actions/download-artifact@v4
with:
path: pacman-ui-3d/build/jpackage
- name: List files
run: ls -R
- name: Attach installers to the release
uses: softprops/action-gh-release@v1
with:
files: |
./pacman-ui-3d/build/jpackage/macos-latest/*.dmg
./pacman-ui-3d/build/jpackage/ubuntu-latest/*.deb
./pacman-ui-3d/build/jpackage/windows-latest/*.msi