Skip to content

Linux CI

Linux CI #6

Workflow file for this run

name: Linux CI
on:
workflow_dispatch:
workflow_call:
env:
HAXE_VERSION: 4.3.7
jobs:
linux:
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@main
- name: Install system dependencies
run: |
echo 'Dpkg::Options { "--force-overwrite"; }' | sudo tee /etc/apt/apt.conf.d/99force-overwrite
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y libc++-dev:i386 libc++abi-dev:i386 libdrm-dev:i386 libgl1-mesa-dev:i386 libglu1-mesa-dev:i386 libpulse-dev:i386 libasound2-dev:i386 libx11-dev:i386 libxext-dev:i386 libxi-dev:i386 libxrandr-dev:i386 libxinerama-dev:i386 libpng-dev:i386 libturbojpeg-dev:i386 libuv1-dev:i386 libvorbis-dev:i386 libdbus-1-dev:i386 libpipewire-0.3-dev:i386 libxcursor-dev:i386 libxss-dev:i386 libudev-dev:i386 libbsd-dev:i386 libwayland-dev:i386 libxkbcommon-dev:i386 libegl1-mesa-dev:i386 libgles2-mesa-dev:i386 gcc-12 g++-12 libdrm-dev libgl1-mesa-dev libglu1-mesa-dev libpulse-dev libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev libdbus-1-dev libpipewire-0.3-dev libxcursor-dev libxss-dev libudev-dev libbsd-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libgles2-mesa-dev libjack-dev --no-install-recommends --no-install-suggests
- name: Setup Haxe
uses: ShadowEngineTeam/setup-haxe@main
with:
haxe-version: ${{ env.HAXE_VERSION }}
- name: Set HAXEPATH
run: echo "HAXEPATH=$HAXE_STD_PATH/.." >> $GITHUB_ENV
- name: Install Haxe dependencies
run: |
haxelib git hxcpp https://github.com/ShadowEngineTeam/hxcpp --quiet
haxelib git format https://github.com/HaxeFoundation/format 9d69fb342d030fa120d2deafafbbffad248332b8 --quiet
haxelib git hxp https://github.com/openfl/hxp 47ef5ae6569cb0961761a2fbb416694df067124c --quiet
- name: Enable HXCPP compile cache
run: echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- name: Configure Lime
run: haxelib dev lime ${{ github.workspace }}
- name: Rebuild Lime
run: |
linux32 haxelib run lime rebuild linux -32 -release -nocolor -nocffi -D HXCPP_M32
haxelib run lime rebuild linux -64 -release -nocolor -nocffi -D HXCPP_M64
- name: Upload Artifact (x86)
uses: actions/upload-artifact@main
with:
name: Linux-NDLL
path: |
ndll/Linux/
!**/.gitignore
lime.png
if-no-files-found: error
- name: Upload Artifact (x86_64)
uses: actions/upload-artifact@main
with:
name: Linux64-NDLL
path: |
ndll/Linux64/
!**/.gitignore
lime.png
if-no-files-found: error
linuxarm:
runs-on: ubuntu-22.04-arm
steps:
- name: Checkout
uses: actions/checkout@main
- name: Install system dependencies
run: |
echo 'Dpkg::Options { "--force-overwrite"; }' | sudo tee /etc/apt/apt.conf.d/99force-overwrite
sudo dpkg --add-architecture armhf
sudo apt update
sudo apt-get install -y libc++-dev:armhf libc++abi-dev:armhf libdrm-dev:armhf libgl1-mesa-dev:armhf libglu1-mesa-dev:armhf libpulse-dev:armhf libasound2-dev:armhf libx11-dev:armhf libxext-dev:armhf libxi-dev:armhf libxrandr-dev:armhf libxinerama-dev:armhf libmbedtls-dev:armhf libpng-dev:armhf libturbojpeg-dev:armhf libuv1-dev:armhf libvorbis-dev:armhf libdbus-1-dev:armhf libpipewire-0.3-dev:armhf libxcursor-dev:armhf libxss-dev:armhf libudev-dev:armhf libbsd-dev:armhf libwayland-dev:armhf libxkbcommon-dev:armhf libegl1-mesa-dev:armhf libgles2-mesa-dev:armhf gcc-12 g++-12 libdrm-dev libgl1-mesa-dev libglu1-mesa-dev libpulse-dev libasound2-dev libx11-dev libxext-dev libxi-dev libxrandr-dev libxinerama-dev libmbedtls-dev libpng-dev libturbojpeg-dev libuv1-dev libvorbis-dev libdbus-1-dev libpipewire-0.3-dev libxcursor-dev libxss-dev libudev-dev libbsd-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libgles2-mesa-dev libjack-dev --no-install-recommends --no-install-suggests
- name: Setup Haxe
uses: ShadowEngineTeam/setup-haxe@main
with:
haxe-version: ${{ env.HAXE_VERSION }}
- name: Install Haxe dependencies
run: |
haxelib setup ~/haxelib
haxelib git hxcpp https://github.com/ShadowEngineTeam/hxcpp --quiet
haxelib git format https://github.com/HaxeFoundation/format 9d69fb342d030fa120d2deafafbbffad248332b8 --quiet
haxelib git hxp https://github.com/openfl/hxp 47ef5ae6569cb0961761a2fbb416694df067124c --quiet
- name: Enable HXCPP compile cache
run: echo "HXCPP_COMPILE_CACHE=~/.hxcpp" >> $GITHUB_ENV
- name: Configure Lime
run: haxelib dev lime ${{ github.workspace }}
- name: Rebuild Lime
run: |
linux32 haxelib run lime rebuild linux -armv7 -release -nocolor -nocffi -D HXCPP_ARMV7
haxelib run lime rebuild linux -arm64 -release -nocolor -nocffi -D HXCPP_ARM64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: LinuxArm-NDLL
path: |
ndll/LinuxArm/
!**/.gitignore
lime.png
if-no-files-found: error
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: LinuxArm64-NDLL
path: |
ndll/LinuxArm64/
!**/.gitignore
lime.png
if-no-files-found: error