Skip to content

Set MACOSX_DEPLOYMENT_TARGET for native builds #18

Set MACOSX_DEPLOYMENT_TARGET for native builds

Set MACOSX_DEPLOYMENT_TARGET for native builds #18

name: Build and Publish Natives to Github Packages
permissions:
packages: write
on:
workflow_dispatch:
push:
branches: [main]
tags: ["*"]
jobs:
build-linux-windows:
runs-on: ubuntu-22.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_REPOSITORY: ${{ github.repository }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- run: echo "JAVA_17=$JAVA_HOME" >> $GITHUB_ENV
- name: Install cross-compilation toolchains
run: |
sudo apt update
sudo apt install -y --force-yes gcc g++ mingw-w64
sudo apt install -y --force-yes gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Build natives for Linux/Windows
run: |
./gradlew :luajit:jnigen :luajit:jnigenBuildLinux64 :luajit:jnigenBuildWindows64
./gradlew :lua54:jnigen :lua54:jnigenBuildLinux64 :lua54:jnigenBuildWindows64
- name: Upload Linux/Windows artifacts
uses: actions/upload-artifact@v4
with:
name: linux-windows-natives
path: ./*/libs
retention-days: 1
apple-natives:
runs-on: macos-13
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: "temurin"
java-version: "17"
- run: echo "JAVA_17=$JAVA_HOME" >> $GITHUB_ENV
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Build natives
run: |
./gradlew :luajit:jnigen :luajit:jnigenBuildMacOsX64 :luajit:jnigenBuildMacOsXARM64
./gradlew :lua54:jnigen :lua54:jnigenBuildMacOsX64 :lua54:jnigenBuildMacOsXARM64
env:
MACOSX_DEPLOYMENT_TARGET: "10.9"
- name: Upload macOS natives
uses: actions/upload-artifact@v4
with:
name: apple-natives
path: ./*/libs
retention-days: 1
publish:
needs: [build-linux-windows, apple-natives]
runs-on: ubuntu-22.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_ACTOR: ${{ github.actor }}
GITHUB_REPOSITORY: ${{ github.repository }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- run: echo "JAVA_17=$JAVA_HOME" >> $GITHUB_ENV
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
pattern: '*-natives'
merge-multiple: true
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v3
- name: Publish to GitHub Packages (GHCR)
run: |
./gradlew :luajit:publish :lua54:publish --info