Skip to content

fix: update workflow triggers and fix URLs in index.html and LuaBot.j… #13

fix: update workflow triggers and fix URLs in index.html and LuaBot.j…

fix: update workflow triggers and fix URLs in index.html and LuaBot.j… #13

Workflow file for this run

name: Vendordep
on:
push:
branches: [ vendordep ]
workflow_dispatch:
jobs:
linux:
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 \
make \
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
sh util/build-luajit-roborio.sh
- name: LuaBot Stub (linuxathena)
run: |
mkdir -p /tmp
arm-frc2025-linux-gnueabi-gcc -c vendordep/stub.c -o /tmp/stub.o && \
arm-frc2025-linux-gnueabi-ar rcs 3rdparty/linuxathena/lib/libluabot-stub.a /tmp/stub.o
- name: Configure
run: |
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLUABOT_BUILD_CONSOLE=OFF
- name: Build
run: |
cmake --build build
python3 vendordep/vendordep.py --version="0.0.1" --cross
- name: Artifacts
uses: actions/upload-artifact@v4
with:
name: linux-deps
path: |
build/vendordep/*.zip
build/vendordep/*.pom
build/vendordep/*.json
macos:
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: Configure
run: |
cmake -S . -B build -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DLUABOT_BUILD_CONSOLE=OFF
- name: Build
run: |
cmake --build build
python3 vendordep/vendordep.py --version="0.0.1" --local
- name: Artifacts
uses: actions/upload-artifact@v4
with:
name: macos-deps
path: build/vendordep/*.zip
windows:
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: 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 `
-DLUABOT_BUILD_CONSOLE=OFF `
-DPython3_EXECUTABLE="$py"
- name: Build
run: |
cmake --build build
python vendordep/vendordep.py --version="0.0.1" --local
- name: Artifacts
uses: actions/upload-artifact@v4
with:
name: windows-deps
path: build/vendordep/*.zip
vendordep:
needs: [ 'linux', 'macos', 'windows' ]
name: Vendordep
runs-on: ubuntu-22.04
permissions:
contents: read
pages: write
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: false
- name: Assemble
uses: actions/download-artifact@v4
with:
path: build/vendordep
merge-multiple: true
- name: Install
run: |
mkdir -p build/maven
python3 vendordep/vendordep.py --version="0.0.1" --install --prefix="$(pwd)/build/maven"
cp build/vendordep/LuaBot.json build/maven
- name: Setup AWS
uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: ${{ secrets.AWS_REGION }}
- name: Deploy
run: |
aws s3 sync build/maven s3://luabot/maven/
aws cloudfront create-invalidation --distribution-id E3QY5NK3CA5GKI --paths "/*"