Files
AppleCommander/.github/workflows/nativeCompile.yml
2025-08-26 11:06:35 -05:00

60 lines
1.7 KiB
YAML

name: GraalVM Native Image builds
on:
push:
branches: [ "main" ]
tags:
- '*'
pull_request:
branches: [ "main" ]
jobs:
build:
name: ac/acx on ${{ matrix.os }}-${{ matrix.arch }}
runs-on: ${{ matrix.label }}
strategy:
matrix:
# Note that Graal v21 builds to the current architecture, and "--target" is not functional.
# Therefore, we try to find runners that fit our targets.
# See: https://docs.github.com/en/actions/concepts/runners/about-github-hosted-runners#overview-of-github-hosted-runners
# ... and follow the links to the related GitHub repositories
include:
- label: ubuntu-latest
os: linux
arch: x86_64
- label: ubuntu-24.04-arm
os: linux
arch: aarch64
- label: windows-latest
os: windows
arch: x86_64
- label: macos-13
os: darwin
arch: x86_64
- label: macos-latest
os: darwin
arch: arm64
steps:
- uses: actions/checkout@v4
- uses: graalvm/setup-graalvm@v1
with:
java-version: '21'
distribution: 'graalvm-community'
github-token: ${{ secrets.GITHUB_TOKEN }}
native-image-job-reports: 'true'
- name: Build ac/acx
run: ./gradlew nativeCompile
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: ac-${{ matrix.os }}-${{ matrix.arch }}
path: app/cli-ac/build/native/nativeCompile/ac-*
- name: Upload binary
uses: actions/upload-artifact@v4
with:
name: acx-${{ matrix.os }}-${{ matrix.arch }}
path: app/cli-acx/build/native/nativeCompile/acx-*