Linux CI #6
This file contains hidden or 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: 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 |