Skip to content

tagged-release

tagged-release #25

name: "tagged-release"
on:
push:
tags:
- "v*"
workflow_dispatch:
jobs:
gh_tagged_release:
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest, macos-14]
include:
- platform: ubuntu-latest
jar_file_name: sparcd-ubuntu-latest.jar
- platform: windows-latest
jar_file_name: sparcd-windows-latest.jar
- platform: macos-latest
jar_file_name: sparcd-macos-latest.jar
- platform: macos-14
jar_file_name: sparcd-AppleSilicon.jar
extra_maven_flags: -Denv=AppleSilicon
runs-on: ${{ matrix.platform }}
steps:
- name: "Checkout source code"
uses: actions/checkout@v4
- name: Set up JDK 21
uses: actions/setup-java@v4
with:
distribution: 'oracle'
java-version: 21
- name: Build with Maven
run: cd "Sanimal FX" && mvn -U ${{ matrix.extra_maven_flags }} compile package && mv target/SanimalFX-1.0-SNAPSHOT-jar-with-dependencies.jar ../${{ matrix.jar_file_name }}
- name: set date env var
if: ${{ matrix.platform != 'windows-latest' }}
run: echo "NOW=$(date +'%Y.%m.%d')" >> $GITHUB_ENV
- name: set date env var (Windows)
if: ${{ matrix.platform == 'windows-latest' }}
run: $NOW=& Get-Date -format yyyy.MM.dd; echo "NOW=$NOW" >> $env:GITHUB_ENV
- name: Upload release assets
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
name: Release Build ${{ env.NOW }}
files: ${{ matrix.jar_file_name }}
draft: false
prerelease: false
fail_on_unmatched_files: true
tag_name: Release-Build-${{ env.NOW }}
make_latest: true