69 image based hyperbolic navigator #215
This file contains 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
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven | |
name: Maven Build | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
release: | |
types: | |
- published | |
workflow_dispatch: | |
permissions: | |
contents: write | |
concurrency: | |
group: maven-${{ github.head_ref || github.ref }} | |
cancel-in-progress: ${{ github.event_name == 'pull_request' }} | |
jobs: | |
build-jar: | |
name: jar / ${{ matrix.os }} / ${{ matrix.jdk-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
jdk-version: [ 21 ] | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-13 # Intel OSX | |
- macos-14 # ARM64 OSX | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set Up JDK ${{ matrix.jdk-version }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.jdk-version }} | |
distribution: 'temurin' | |
- name: Cache Maven repository | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-${{ runner.arch }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ runner.arch }}-maven- | |
- name: Maven Build Jar | |
run: ./mvnw -V -B -e -ff -ntp clean package -Passembly | |
- name: Upload Jar | |
uses: actions/upload-artifact@v4 | |
continue-on-error: true | |
with: | |
name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-jar | |
path: target/*-assembly.jar | |
retention-days: 10 | |
if-no-files-found: error | |
build-graal: | |
name: graal / ${{ matrix.os }} / ${{ matrix.jdk-version }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
jdk-version: [ 21 ] | |
os: | |
- ubuntu-latest | |
- windows-latest | |
- macos-14 # ARM64 OSX | |
#- macos-13 # Intel OSX (TODO Not Supported) | |
steps: | |
- uses: actions/checkout@v4 | |
# https://github.com/gluonhq/substrate | |
- name: Linux Only - Install Additional Dependencies needed by substrate | |
if: runner.os == 'Linux' | |
run: | | |
export DEBIAN_FRONTEND=noninteractive | |
sudo apt-get update | |
sudo apt-get install --yes --no-install-recommends libasound2-dev libavcodec-dev libavformat-dev libavutil-dev libfreetype6-dev | |
sudo apt-get install --yes --no-install-recommends libgl-dev libglib2.0-dev libgtk-3-dev libpango1.0-dev libx11-dev libxtst-dev zlib1g-dev | |
# Setup CL, msbuild, etc. | |
- name: Windows Only - Enable Windows Developer Command Prompt | |
uses: ilammy/msvc-dev-cmd@v1.13.0 | |
if: runner.os == 'Windows' | |
with: | |
arch: x64 | |
- name: Set Up JDK ${{ matrix.jdk-version }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.jdk-version }} | |
distribution: 'temurin' | |
- name: Set Up GraalVM ${{ matrix.jdk-version }} | |
uses: graalvm/setup-graalvm@v1 | |
with: | |
java-version: ${{ matrix.jdk-version }} | |
distribution: 'graalvm' | |
#components: 'native-image' # default | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
native-image-job-reports: 'true' | |
- name: Cache Maven repository | |
uses: actions/cache@v4 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-${{ runner.arch }}-maven-${{ hashFiles('**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-${{ runner.arch }}-maven- | |
- name: Maven Build Graal VM | |
run: ./mvnw -V -B -e -ff -ntp clean gluonfx:compile gluonfx:link | |
- name: Upload Native | |
uses: actions/upload-artifact@v4 | |
continue-on-error: true | |
with: | |
name: java-${{ matrix.jdk-version }}-${{ runner.os }}-${{ runner.arch }}-graal | |
path: target/gluonfx/**/trinity* | |
retention-days: 10 | |
if-no-files-found: error |