Generic Linux ARM and Windows ARM64 Support #1352
Workflow file for this run
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
name: CI | |
on: [push, pull_request] | |
env: | |
HAXE_VERSION: 4.2.5 | |
jobs: | |
linux: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev g++-multilib gcc-multilib libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libpulse-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Rebuild Lime tools | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime rebuild tools -nocolor -verbose -nocffi | |
haxelib run lime setup -alias -y -nocffi | |
- name: Rebuild Lime (Linux) | |
run: | | |
lime rebuild linux -32 -release -nocolor -verbose -nocffi | |
lime rebuild linux -64 -release -nocolor -verbose -nocffi | |
lime rebuild hl -clean -release -nocolor -verbose -nocffi | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Linux-NDLL | |
path: | | |
ndll/Linux/ | |
!**/.gitignore | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Linux64-NDLL | |
path: | | |
ndll/Linux64/ | |
!**/.gitignore | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Linux64-Hashlink | |
path: | | |
templates/bin/hl/Linux64 | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld linux -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage linux -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio linux -release -verbose -nocolor | |
linuxarm64: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: Install system dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgl1-mesa-dev libglu1-mesa-dev gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libdrm-dev libegl1-mesa-dev libgles2-mesa-dev libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libpulse-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libd/libdrm/libdrm2_2.4.101-2_arm64.deb | |
sudo dpkg-deb -x libdrm2_2.4.101-2_arm64.deb / | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libd/libdrm/libdrm-dev_2.4.101-2_arm64.deb | |
sudo dpkg-deb -x libdrm-dev_2.4.101-2_arm64.deb / | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libg/libglvnd/libegl1_1.3.1-1_arm64.deb | |
sudo dpkg-deb -x libegl1_1.3.1-1_arm64.deb / | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libg/libglvnd/libegl-dev_1.3.1-1_arm64.deb | |
sudo dpkg-deb -x libegl-dev_1.3.1-1_arm64.deb / | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libg/libglvnd/libgles2_1.3.1-1_arm64.deb | |
sudo dpkg-deb -x libgles2_1.3.1-1_arm64.deb / | |
wget -q http://mirrors.ocf.berkeley.edu/ubuntu-ports/pool/main/libg/libglvnd/libgles-dev_1.3.1-1_arm64.deb | |
sudo dpkg-deb -x libgles-dev_1.3.1-1_arm64.deb / | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
# TODO: change this to release version when hxcpp releases the patch | |
haxelib git hxcpp https://github.com/mcagabe19/hxcpp 47526979c193c6659d053018fb178366b6ff6f72 --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Rebuild Lime tools | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime rebuild tools -nocolor -verbose -nocffi | |
haxelib run lime setup -alias -y -nocffi | |
lime rebuild hxcpp -nocolor -verbose -nocffi | |
- name: Rebuild Lime (Linux) | |
run: | | |
lime rebuild linux -64 -release -nocolor -verbose -nocffi | |
CC=aarch64-linux-gnu-gcc CXX=aarch64-linux-gnu-g++ HXCPP_STRIP=aarch64-linux-gnu-strip lime rebuild linux -arm64 -release -nocolor -verbose -nocffi -D HXCPP_ARM64 | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: LinuxArm64-NDLL | |
path: | | |
ndll/LinuxArm64/ | |
!**/.gitignore | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld linux -arm64 -release -verbose -nocolor -D HXCPP_ARM64 | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage linux -arm64 -release -verbose -nocolor -D HXCPP_ARM64 | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio linux -arm64 -release -verbose -nocolor -D HXCPP_ARM64 | |
macos: | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install HashLink dependencies | |
run: | | |
pushd project/lib/hashlink | |
brew update | |
rm /usr/local/bin/2to3* | |
rm /usr/local/bin/idle3* | |
rm /usr/local/bin/pydoc3* | |
rm /usr/local/bin/python3* | |
brew bundle | |
popd | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Rebuild Lime tools | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime rebuild tools -nocolor -verbose -nocffi | |
haxelib run lime setup -alias -y -nocffi | |
- name: Rebuild Lime (macOS) | |
run: | | |
lime rebuild macos -clean -release -64 -nocolor -verbose -nocffi | |
lime rebuild macos -clean -release -arm64 -nocolor -verbose -nocffi | |
lime rebuild hl -clean -release -nocolor -verbose -nocffi | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Mac64-NDLL | |
path: | | |
ndll/Mac64/ | |
!**/.gitignore | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: MacArm64-NDLL | |
path: | | |
ndll/MacArm64/ | |
!**/.gitignore | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Mac64-Hashlink | |
path: | | |
templates/bin/hl/Mac64 | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
# - name: Build HelloWorld sample | |
# run: | | |
# lime create HelloWorld -verbose -nocolor | |
# lime build HelloWorld macos -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage macos -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio macos -release -verbose -nocolor | |
windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- uses: TheMrMilchmann/setup-msvc-dev@v3 | |
with: | |
arch: amd64_arm64 | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=C:\.hxcpp" >> $Env:GITHUB_ENV | |
- name: Rebuild Lime tools | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime rebuild tools -nocolor -verbose -nocffi | |
haxelib run lime setup -alias -y -nocffi | |
- name: Rebuild Lime (Windows) | |
run: | | |
lime rebuild windows -32 -release -nocolor -verbose -nocffi | |
lime rebuild windows -64 -release -nocolor -verbose -nocffi | |
lime rebuild windows -arm64 -release -nocolor -verbose -nocffi -D HXCPP_ARM64 | |
lime rebuild hl -clean -release -nocolor -verbose -nocffi | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Windows-NDLL | |
path: | | |
ndll/Windows/ | |
!**/.gitignore | |
if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Windows64-NDLL | |
path: | | |
ndll/Windows64/ | |
!**/.gitignore | |
if-no-files-found: error | |
# - uses: actions/upload-artifact@v4 | |
# with: | |
# name: Windows-Hashlink | |
# path: | | |
# templates/bin/hl/Windows | |
# if-no-files-found: error | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Windows64-Hashlink | |
path: | | |
templates/bin/hl/Windows64 | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld windows -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage windows -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio windows -release -verbose -nocolor | |
android: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install Android NDK | |
uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r21e | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: "zulu" | |
java-version: 11 | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime setup -alias -y -nocffi -eval | |
- name: Configure Android support | |
run: | | |
lime config ANDROID_SDK $ANDROID_HOME -eval | |
lime config ANDROID_NDK_ROOT ${{ steps.setup-ndk.outputs.ndk-path }} -eval | |
lime config JAVA_HOME $JAVA_HOME -eval | |
lime config ANDROID_SETUP true -eval | |
lime config -eval | |
- name: Rebuild Lime (Android) | |
run: | | |
lime rebuild android -release -nocolor -verbose -nocffi -eval | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: Android-NDLL | |
path: | | |
ndll/Android/ | |
!**/.gitignore | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor -eval | |
lime build HelloWorld android -release -verbose -nocolor -eval | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor -eval | |
lime build SimpleImage android -release -verbose -nocolor -eval | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor -eval | |
lime build SimpleAudio android -release -verbose -nocolor -eval | |
ios: | |
runs-on: macos-12 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime setup -alias -y -nocffi -eval | |
- name: Rebuild Lime (iOS) | |
run: | | |
lime rebuild ios -clean -release -verbose -nocolor -eval | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: iPhone-NDLL | |
path: | | |
ndll/iPhone/ | |
!**/.gitignore | |
if-no-files-found: error | |
- name: Install samples | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
# - name: Build HelloWorld sample | |
# run: | | |
# lime create HelloWorld -verbose -nocolor -eval | |
# lime build HelloWorld ios -simulator -release -verbose -nocolor -eval | |
- name: Build SimpleImage sample (Simulator) | |
run: | | |
lime create SimpleImage -verbose -nocolor -eval | |
lime build SimpleImage ios -simulator -release -verbose -nocolor -eval | |
- name: Build SimpleAudio sample (Device) | |
run: | | |
lime create SimpleAudio -verbose -nocolor -eval | |
lime build SimpleAudio ios -release -nosign -verbose -nocolor -eval | |
package-haxelib: | |
needs: [linux, linuxarm64, macos, windows, android, ios] | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install svg --quiet | |
haxelib install openfl --quiet | |
- name: Enable HXCPP compile cache | |
run: | | |
echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV | |
- name: Rebuild Lime tools | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime rebuild tools -nocolor -verbose -nocffi | |
haxelib run lime setup -alias -y -nocffi | |
cp project/lib/hashlink/other/osx/entitlements.xml templates/bin/hl/entitlements.xml | |
mkdir templates/bin/hl/include | |
cp project/lib/hashlink/src/hlc.h templates/bin/hl/include/hlc.h | |
cp project/lib/hashlink/src/hl.h templates/bin/hl/include/hl.h | |
cp project/lib/hashlink/src/hlc_main.c templates/bin/hl/include/hlc_main.c | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Android-NDLL | |
path: ndll/Android/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: iPhone-NDLL | |
path: ndll/iPhone/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Linux-NDLL | |
path: ndll/Linux/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Linux64-NDLL | |
path: ndll/Linux64/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Mac64-NDLL | |
path: ndll/Mac64/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: MacArm64-NDLL | |
path: ndll/MacArm64/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Windows-NDLL | |
path: ndll/Windows/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Windows64-NDLL | |
path: ndll/Windows64/ | |
# - uses: actions/download-artifact@v4 | |
# with: | |
# name: Windows-Hashlink | |
# path: templates/bin/hl/Windows | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Windows64-Hashlink | |
path: templates/bin/hl/Windows64 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Mac64-Hashlink | |
path: templates/bin/hl/Mac64 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Linux64-Hashlink | |
path: templates/bin/hl/Linux64 | |
- name: Rebuild Lime svg.n | |
working-directory: tools | |
run: | | |
haxe svg.hxml | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: lime-haxelib | |
path: | | |
./ | |
!project/ | |
!haxe-*-*/ | |
!neko-*-*/ | |
!.git/ | |
if-no-files-found: error | |
docs: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install dox --quiet | |
haxelib dev lime ${{ github.workspace }} | |
- name: Build docs | |
working-directory: docs | |
run: | | |
haxe build.hxml | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: lime-docs | |
path: docs/pages | |
if-no-files-found: error | |
flash-samples: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime setup -alias -y -nocffi -eval | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor -eval | |
lime build HelloWorld flash -release -verbose -nocolor -eval | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor -eval | |
lime build SimpleImage flash -release -verbose -nocolor -eval | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor -eval | |
lime build SimpleAudio flash -release -verbose -nocolor -eval | |
air-samples: | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
haxe-version: [4.0.5, 4.1.5, 4.2.5, 4.3.1] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- uses: joshtynjala/setup-adobe-air-action@v2 | |
with: | |
air-version: "33.1" | |
accept-license: true | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
curl --output ../hxcpp-4.3.45.zip --location https://github.com/HaxeFoundation/hxcpp/releases/download/v4.3.45/hxcpp-4.3.45.zip | |
haxelib install ../hxcpp-4.3.45.zip --quiet | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime setup -alias -y -nocffi -eval | |
haxelib run lime config AIR_SDK ${{ env.AIR_HOME }} -eval | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor -eval | |
lime build HelloWorld air -release -verbose -nocolor -eval | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor -eval | |
lime build SimpleImage air -release -verbose -nocolor -eval | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor -eval | |
lime build SimpleAudio air -release -verbose -nocolor -eval | |
hashlink-samples: | |
needs: package-haxelib | |
strategy: | |
matrix: | |
os: [windows-latest, ubuntu-20.04, macos-12] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Set HAXEPATH (Mac/Linux) | |
if: runner.os != 'Windows' | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: lime-haxelib | |
path: lime-haxelib | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime lime-haxelib | |
haxelib run lime setup -alias -y -nocffi | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld hl -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage hl -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio hl -release -verbose -nocolor | |
hashlinkc-samples: | |
needs: package-haxelib | |
strategy: | |
matrix: | |
os: [windows-latest, ubuntu-20.04, macos-12] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: 4.3.3 # minimum required version for HL/C | |
- name: Set HAXEPATH (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Set HAXEPATH (Mac/Linux) | |
if: runner.os != 'Windows' | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: lime-haxelib | |
path: lime-haxelib | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime lime-haxelib | |
haxelib run lime setup -alias -y -nocffi | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld hlc -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage hlc -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio hlc -release -verbose -nocolor | |
html5-samples: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ env.HAXE_VERSION }} | |
- name: Set HAXEPATH | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib install format --quiet | |
haxelib install hxp --quiet | |
haxelib install genes --quiet | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime ${{ github.workspace }} | |
haxelib run lime setup -alias -y -nocffi -eval | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor -eval | |
lime build HelloWorld html5 -release -verbose -nocolor -eval | |
- name: Build HelloWorld variants | |
run: | | |
lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes -eval | |
lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser -eval | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor -eval | |
lime build SimpleImage html5 -release -verbose -nocolor -eval | |
- name: Build SimpleImage variants | |
run: | | |
lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes -eval | |
lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser -eval | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor -eval | |
lime build SimpleAudio html5 -release -verbose -nocolor -eval | |
- name: Build SimpleAudio variants | |
run: | | |
lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes -eval | |
lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser -eval | |
neko-samples: | |
needs: package-haxelib | |
strategy: | |
matrix: | |
haxe-version: [3.4.7, 4.2.5] | |
os: [windows-latest, ubuntu-20.04, macos-12] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: krdlab/setup-haxe@v1 | |
with: | |
haxe-version: ${{ matrix.haxe-version }} | |
- name: Set HAXEPATH (Windows) | |
if: runner.os == 'Windows' | |
run: | | |
echo "HAXEPATH=$Env:HAXE_STD_PATH\.." >> $Env:GITHUB_ENV | |
- name: Set HAXEPATH (Mac/Linux) | |
if: runner.os != 'Windows' | |
run: | | |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV | |
- name: Install Haxe dependencies | |
run: | | |
haxelib git lime-samples https://github.com/openfl/lime-samples --quiet | |
- uses: actions/download-artifact@v4 | |
with: | |
name: lime-haxelib | |
path: lime-haxelib | |
- name: Prepare Lime | |
run: | | |
haxelib dev lime lime-haxelib | |
haxelib run lime setup -alias -y -nocffi | |
- name: Build HelloWorld sample | |
run: | | |
lime create HelloWorld -verbose -nocolor | |
lime build HelloWorld neko -release -verbose -nocolor | |
- name: Build SimpleImage sample | |
run: | | |
lime create SimpleImage -verbose -nocolor | |
lime build SimpleImage neko -release -verbose -nocolor | |
- name: Build SimpleAudio sample | |
run: | | |
lime create SimpleAudio -verbose -nocolor | |
lime build SimpleAudio neko -release -verbose -nocolor | |
notify: | |
runs-on: ubuntu-20.04 | |
needs: [package-haxelib, docs, android, flash-samples, air-samples, hashlink-samples, html5-samples, ios, linux, linuxarm64, macos, neko-samples, windows] | |
if: ${{ github.repository == 'openfl/lime' && github.event_name != 'pull_request' }} | |
steps: | |
- name: Notify Discord | |
uses: nobrayner/discord-webhook@v1 | |
with: | |
github-token: ${{ secrets.github_token }} | |
discord-webhook: ${{ secrets.DISCORD_WEBHOOK }} |