Files
lime/.github/workflows/main.yml
Josh Tynjala e947771f35 actions: update to macos-14 because macos-13 will be removed in December 2025
We might as well do it for 8.3.0, so that it and 9.3.x patches can hopefully target the same version.

This means that our CI now runs on ARM64 instead of x86_64 for macOS.

To build HashLink, we need to install x86_64 Homebrew to get the necessary dependencies.

We also need a new enough krdlab/setup-haxe that supports ARM64 macOS, and can run older Haxe versions. This is currently commit 8f35d1215b93e940a76f9470e22e8a5ba6149598, but hopefully, setup-haxe's v2 tag will be updated in the future.
2025-10-09 10:30:31 -07:00

896 lines
27 KiB
YAML

name: CI
on: [push, pull_request]
env:
HAXE_VERSION: 4.2.5
jobs:
linux:
runs-on: ubuntu-22.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@8f35d1215b93e940a76f9470e22e8a5ba6149598
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 --global update haxelib --quiet
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
macos:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
with:
haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install HashLink dependencies
run: |
arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
pushd project/lib/hashlink
arch -x86_64 /usr/local/bin/brew update
rm /usr/local/bin/2to3*
rm /usr/local/bin/idle3*
rm /usr/local/bin/pydoc3*
rm /usr/local/bin/python3*
rm /usr/local/bin/pip3*
arch -x86_64 /usr/local/bin/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@8f35d1215b93e940a76f9470e22e8a5ba6149598
with:
haxe-version: ${{ env.HAXE_VERSION }}
- 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 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-22.04
strategy:
matrix:
ndk-version: [r28c, stable]
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Android NDK
uses: nttld/setup-ndk@v1
id: setup-ndk
if: matrix.ndk-version != 'stable'
with:
ndk-version: ${{ matrix.ndk-version }}
- uses: actions/setup-java@v4
with:
distribution: "zulu"
java-version: 17
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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 ${{ env.LIME_NDK_ROOT }} -eval
lime config JAVA_HOME $JAVA_HOME -eval
lime config ANDROID_SETUP true -eval
lime config -eval
env:
LIME_NDK_ROOT: ${{ matrix.ndk-version == 'stable' && '$ANDROID_NDK_ROOT' || steps.setup-ndk.outputs.ndk-path }}
- 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
if: matrix.ndk-version != 'stable'
- 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-14
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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, macos, windows, android, ios]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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-22.04
steps:
- uses: actions/checkout@v4
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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-22.04
steps:
- uses: actions/checkout@v4
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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.6]
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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-22.04, macos-14]
runs-on: ${{ matrix.os }}
steps:
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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-22.04, macos-14]
runs-on: ${{ matrix.os }}
steps:
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
with:
haxe-version: 4.3.3 # minimum required version for HL/C is 4.3.3
- 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:
needs: package-haxelib
runs-on: ubuntu-22.04
strategy:
matrix:
haxe-version: [3.4.7, 4.0.5, 4.1.5, 4.2.5, 4.3.6]
steps:
- uses: actions/checkout@v4
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
with:
haxe-version: ${{ matrix.haxe-version }}
- name: Set HAXEPATH
run: |
echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib install genes --quiet
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 html5 -release -verbose -nocolor
- name: Build HelloWorld variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: |
lime build HelloWorld html5 -clean -release -verbose -nocolor --haxelib=genes
lime build HelloWorld html5 -clean -release -verbose -nocolor -minify -terser
- name: Build SimpleImage sample
run: |
lime create SimpleImage -verbose -nocolor
lime build SimpleImage html5 -release -verbose -nocolor
- name: Build SimpleImage variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: |
lime build SimpleImage html5 -clean -release -verbose -nocolor --haxelib=genes
lime build SimpleImage html5 -clean -release -verbose -nocolor -minify -terser
- name: Build SimpleAudio sample
run: |
lime create SimpleAudio -verbose -nocolor
lime build SimpleAudio html5 -release -verbose -nocolor
- name: Build SimpleAudio variants
if: ${{ matrix.haxe-version != '3.4.7' }}
run: |
lime build SimpleAudio html5 -clean -release -verbose -nocolor --haxelib=genes
lime build SimpleAudio html5 -clean -release -verbose -nocolor -minify -terser
neko-samples:
needs: package-haxelib
strategy:
matrix:
haxe-version: [3.4.7, 4.2.5]
os: [windows-latest, ubuntu-22.04, macos-14]
runs-on: ${{ matrix.os }}
steps:
- uses: krdlab/setup-haxe@8f35d1215b93e940a76f9470e22e8a5ba6149598
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-22.04
needs: [package-haxelib, docs, android, flash-samples, air-samples, hashlink-samples, hashlinkc-samples, html5-samples, ios, linux, 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 }}