Skip to content

Default Constructor Support in luabot.class #39

Default Constructor Support in luabot.class

Default Constructor Support in luabot.class #39

Workflow file for this run

name: Build
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:
jobs:
luajit-roborio:
name: LuaJIT roboRIO
runs-on: ubuntu-22.04
container:
image: wpilib/roborio-cross-ubuntu:2026-22.04-py314
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Dependencies
run: |
apt-get update && apt-get install -y --no-install-recommends gcc-multilib
- name: Compile
run: sh util/build-luajit-roborio.sh
- name: Upload linuxathena artifact
uses: actions/upload-artifact@v4
with:
name: linuxathena
path: 3rdparty/linuxathena
linux:
needs: luajit-roborio
name: Linux
runs-on: ubuntu-22.04
container:
image: wpilib/roborio-cross-ubuntu:2026-22.04-py314
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Dependencies
run: |
apt-get update
apt-get install -y --no-install-recommends \
apt-transport-https \
build-essential \
ca-certificates \
cmake \
curl \
dos2unix \
fakeroot \
gcc \
gcc-multilib \
g++ \
gdb \
gfortran \
git \
gnupg \
java-common \
libc6-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libisl-dev \
libopencv-dev \
libvulkan-dev \
libx11-dev \
libxcursor-dev \
libxi-dev \
libxinerama-dev \
libxrandr-dev \
make \
mesa-common-dev \
ninja-build \
pkg-config \
python3-dev \
python3-pip \
python3-setuptools \
software-properties-common \
sudo \
tzdata \
unzip \
wget \
zip
pip3 install pyyaml
- name: LuaJIT
run: |
sh util/build-luajit-linux.sh
- name: LuaJIT (roboRIO)
uses: actions/download-artifact@v4
with:
name: linuxathena
path: 3rdparty/linuxathena
- name: Configure
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build
- name: Test
run: ctest --test-dir build --output-on-failure
macos:
needs: luajit-roborio
name: macOS
runs-on: macos-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Install dependencies (macOS)
run: |
brew install cmake ninja pkg-config
sudo softwareupdate --install-rosetta --agree-to-license
pip3 install --break-system-packages --user pyyaml
- name: LuaJIT
run: |
sh util/build-luajit-macos.sh
- name: LuaJIT (roboRIO)
uses: actions/download-artifact@v4
with:
name: linuxathena
path: 3rdparty/linuxathena
- name: Configure
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
- name: Build
run: cmake --build build
- name: Test
run: ctest --test-dir build --output-on-failure
windows:
needs: luajit-roborio
name: Windows
runs-on: windows-2022
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.13"
- name: Set up MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pyyaml
python -c "import yaml; print('pyyaml ok', yaml.__version__)"
- name: LuaJIT
run: |
python util/luajit.py
- name: LuaJIT (roboRIO)
uses: actions/download-artifact@v4
with:
name: linuxathena
path: 3rdparty/linuxathena
- name: Configure
shell: pwsh
run: |
$py = (Get-Command python).Source
cmake -B build -G Ninja `
-DCMAKE_C_COMPILER=cl -DCMAKE_CXX_COMPILER=cl `
-DCMAKE_BUILD_TYPE=Release `
-DPython3_EXECUTABLE="$py"
- name: Build
run: cmake --build build
- name: Test
run: ctest --test-dir build --output-on-failure