Skip to content
This repository was archived by the owner on May 17, 2026. It is now read-only.

Build-LuaJIT

Build-LuaJIT #10

Workflow file for this run

name: Build-LuaJIT
on: workflow_dispatch
jobs:
Windows-x86:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x86
- name: Compiling
run: ./project/luajit/scripts/Windows-Building.bat x86
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Windows-x86
path: LuaJIT/build/x86
if-no-files-found: warn
Windows-x64:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
with:
arch: x64
- name: Compiling
run: ./project/luajit/scripts/Windows-Building.bat x64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Windows-x64
path: LuaJIT/build/x64
if-no-files-found: warn
Windows-arm64:
runs-on: windows-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
with:
arch: arm64
- name: Compiling
run: ./project/luajit/scripts/Windows-Building.bat arm64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Windows-arm64
path: LuaJIT/build/arm64
if-no-files-found: warn
MinGW-x64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup MinGW
run: sudo apt update && sudo apt install mingw-w64 -y
- name: Compiling
run: chmod +x project/luajit/scripts/MinGW-Building.sh && ./project/luajit/scripts/MinGW-Building.sh x64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: MinGW-x64
path: LuaJIT/build/x64
if-no-files-found: warn
MinGW-x86:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup MinGW
run: sudo apt update && sudo apt install mingw-w64 -y
- name: Compiling
run: chmod +x project/luajit/scripts/MinGW-Building.sh && ./project/luajit/scripts/MinGW-Building.sh x86
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: MinGW-x86
path: LuaJIT/build/x86
if-no-files-found: warn
MacOS:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Compiling
run: chmod +x project/luajit/scripts/MacOS-Building.sh && ./project/luajit/scripts/MacOS-Building.sh
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Macos
path: LuaJIT/build
if-no-files-found: warn
Linux-x86:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup i386 chroot
run: |
sudo apt-get update
sudo apt-get install -y debootstrap schroot
sudo debootstrap --arch=i386 bookworm /chroot/i386 http://deb.debian.org/debian
sudo sh -c 'cat > /etc/schroot/chroot.d/i386.conf << EOF
[i386]
description=Debian i386
type=directory
profile=default
directory=/chroot/i386
users=runner
EOF'
- name: Compiling
run: |
sudo chroot /chroot/i386 /bin/bash -c "
apt-get update && apt-get install -y make gcc git
cd ${{ github.workspace }}
chmod +x project/luajit/scripts/Linux-Building.sh
./project/luajit/scripts/Linux-Building.sh x86
"
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Linux-x86
path: LuaJIT/build/x86
if-no-files-found: warn
Linux-x64:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Compiling
run: chmod +x project/luajit/scripts/Linux-Building.sh && ./project/luajit/scripts/Linux-Building.sh x64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Linux-x64
path: LuaJIT/build/x64
if-no-files-found: warn
Linux-arm64:
runs-on: ubuntu-22.04-arm
steps:
- name: Checkout
uses: actions/checkout@main
- name: Compiling
run: chmod +x project/luajit/scripts/Linux-Building.sh && ./project/luajit/scripts/Linux-Building.sh arm64
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Linux-arm64
path: LuaJIT/build/arm64
if-no-files-found: warn
Linux-armv7:
runs-on: ubuntu-24.04-arm
steps:
- name: Checkout
uses: actions/checkout@main
- name: Setup armhf chroot
run: |
sudo apt-get update
sudo apt-get install -y debootstrap schroot
sudo debootstrap --arch=armhf bookworm /chroot/armhf http://deb.debian.org/debian
sudo sh -c 'cat > /etc/schroot/chroot.d/armhf.conf << EOF
[armhf]
description=Debian armhf
type=directory
profile=default
directory=/chroot/armhf
users=runner
EOF'
- name: Compiling
run: |
sudo chroot /chroot/armhf /bin/bash -c "
apt-get update && apt-get install -y make gcc git
cd ${{ github.workspace }}
chmod +x project/luajit/scripts/Linux-Building.sh
./project/luajit/scripts/Linux-Building.sh armv7
"
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Linux-armv7
path: LuaJIT/build/armv7
if-no-files-found: warn
iOS:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Compiling
run: chmod +x project/luajit/scripts/iOS-Building.sh && ./project/luajit/scripts/iOS-Building.sh
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: iOS
path: LuaJIT/build
if-no-files-found: warn
Android:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@main
- name: Install Dependencies
run: sudo dpkg --add-architecture i386 && sudo apt-get update && sudo apt-get install make automake autoconf libtool build-essential gcc-multilib -y
- name: Compiling
run: chmod +x project/luajit/scripts/Android-Building.sh && ./project/luajit/scripts/Android-Building.sh
- name: Upload Artifact
uses: actions/upload-artifact@main
with:
name: Android
path: LuaJIT/build
if-no-files-found: warn
Publisher:
needs: [Windows-x86, Windows-x64, Windows-arm64, MinGW-x64, MinGW-x86, MacOS, Linux-x86, Linux-x64, Linux-arm64, Linux-armv7, iOS, Android]
runs-on: ubuntu-24.04
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v2
with:
ref: ${{ github.head_ref }}
- name: Download Windows-x86 Artifacts
uses: actions/download-artifact@main
with:
name: Windows-x86
path: ./LuaJIT/windows-x86
- name: Download Windows-x64 Artifacts
uses: actions/download-artifact@main
with:
name: Windows-x64
path: ./LuaJIT/windows-x64
- name: Download Windows-arm64 Artifacts
uses: actions/download-artifact@main
with:
name: Windows-arm64
path: ./LuaJIT/windows-arm64
- name: Download MinGW-x64 Artifacts
uses: actions/download-artifact@main
with:
name: MinGW-x64
path: ./LuaJIT/mingw-x64
- name: Download MinGW-x86 Artifacts
uses: actions/download-artifact@main
with:
name: MinGW-x86
path: ./LuaJIT/mingw-x86
- name: Download MacOS Artifacts
uses: actions/download-artifact@main
with:
name: Macos
path: ./LuaJIT/macos
- name: Download Linux-x86 Artifacts
uses: actions/download-artifact@main
with:
name: Linux-x86
path: ./LuaJIT/linux-x86
- name: Download Linux-x64 Artifacts
uses: actions/download-artifact@main
with:
name: Linux-x64
path: ./LuaJIT/linux-x64
- name: Download Linux-arm64 Artifacts
uses: actions/download-artifact@main
with:
name: Linux-arm64
path: ./LuaJIT/linux-arm64
- name: Download Linux-armv7 Artifacts
uses: actions/download-artifact@main
with:
name: Linux-armv7
path: ./LuaJIT/linux-armv7
- name: Download iOS Artifacts
uses: actions/download-artifact@main
with:
name: iOS
path: ./LuaJIT/ios
- name: Download Android Artifacts
uses: actions/download-artifact@main
with:
name: Android
path: ./LuaJIT/android
- name: Copy to project/luajit/lib and project/luajit/include
run: |
mkdir -p ./project/luajit/lib/Windows
mkdir -p ./project/luajit/lib/MinGW
mkdir -p ./project/luajit/lib/MacOS
mkdir -p ./project/luajit/lib/Linux
mkdir -p ./project/luajit/lib/iOS
mkdir -p ./project/luajit/lib/Android
mkdir -p ./project/luajit/include
rm -rf ./project/luajit/lib/Windows/*
rm -rf ./project/luajit/lib/MinGW/*
rm -rf ./project/luajit/lib/MacOS/*
rm -rf ./project/luajit/lib/Linux/*
rm -rf ./project/luajit/lib/iOS/*
rm -rf ./project/luajit/lib/Android/*
rm -rf ./project/luajit/include/*
cp -r ./LuaJIT/windows-x86/lua51.lib ./project/luajit/lib/Windows/lua51-x86.lib
cp -r ./LuaJIT/windows-x64/lua51.lib ./project/luajit/lib/Windows/lua51-x64.lib
cp -r ./LuaJIT/windows-arm64/lua51.lib ./project/luajit/lib/Windows/lua51-arm64.lib
cp -r ./LuaJIT/windows-x86/include/* ./project/luajit/include
cp -r ./LuaJIT/mingw-x64/libluajit.a ./project/luajit/lib/MinGW/libluajit-x64.a
cp -r ./LuaJIT/mingw-x86/libluajit.a ./project/luajit/lib/MinGW/libluajit-x86.a
cp -r ./LuaJIT/mingw-x64/include/* ./project/luajit/include
cp -r ./LuaJIT/macos/libluajit.a ./project/luajit/lib/MacOS/libluajit.a
cp -r ./LuaJIT/macos/include/* ./project/luajit/include
cp -r ./LuaJIT/linux-x86/libluajit.a ./project/luajit/lib/Linux/libluajit-x86.a
cp -r ./LuaJIT/linux-x64/libluajit.a ./project/luajit/lib/Linux/libluajit-x64.a
cp -r ./LuaJIT/linux-arm64/libluajit.a ./project/luajit/lib/Linux/libluajit-arm64.a
cp -r ./LuaJIT/linux-armv7/libluajit.a ./project/luajit/lib/Linux/libluajit-armv7.a
cp -r ./LuaJIT/linux-x64/include/* ./project/luajit/include
cp -r ./LuaJIT/ios/libluajit_device.a ./project/luajit/lib/iOS/libluajit_device.a
cp -r ./LuaJIT/ios/libluajit_sim.a ./project/luajit/lib/iOS/libluajit_sim.a
cp -r ./LuaJIT/ios/include/* ./project/luajit/include/
cp -r ./LuaJIT/android/libluajit-arm64.a ./project/luajit/lib/Android/libluajit-arm64.a
cp -r ./LuaJIT/android/libluajit-armv7a.a ./project/luajit/lib/Android/libluajit-armv7a.a
cp -r ./LuaJIT/android/libluajit-x86_64.a ./project/luajit/lib/Android/libluajit-x86_64.a
cp -r ./LuaJIT/android/libluajit-x86.a ./project/luajit/lib/Android/libluajit-x86.a
cp -r ./LuaJIT/android/include/* ./project/luajit/include/
rm -rf ./LuaJIT
- name: Push to GitHub
uses: stefanzweifel/git-auto-commit-action@master
with:
commit_message: "Update `LuaJIT` libs and headers."