Skip to content

Merge pull request #5 from addityeah/main #9

Merge pull request #5 from addityeah/main

Merge pull request #5 from addityeah/main #9

Workflow file for this run

name: Build PicoLLM
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
build-linux-x86:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build (native x86-64)
run: cd picolm && make native
- name: Check binary
run: ls -la picolm/picolm && file picolm/picolm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: picolm-linux-x86_64
path: picolm/picolm
build-linux-arm64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install cross-compiler
run: sudo apt-get update && sudo apt-get install -y gcc-aarch64-linux-gnu
- name: Build (Pi 3/4/5 ARM64 + NEON, static)
run: cd picolm && make cross-pi
- name: Check binary
run: ls -la picolm/picolm && file picolm/picolm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: picolm-linux-arm64
path: picolm/picolm
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Build (native)
run: cd picolm && make native
- name: Check binary
run: ls -la picolm/picolm && file picolm/picolm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: picolm-macos-arm64
path: picolm/picolm
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Setup MSVC
uses: ilammy/msvc-dev-cmd@v1
- name: Build
run: cd picolm && cl /O2 /W3 /Fe:picolm.exe picolm.c model.c tensor.c quant.c tokenizer.c sampler.c grammar.c
- name: Check binary
run: dir picolm\picolm.exe
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: picolm-windows-x86_64
path: picolm/picolm.exe
build-riscv:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install cross-compiler
run: sudo apt-get update && sudo apt-get install -y gcc-riscv64-linux-gnu
- name: Build (RISC-V)
run: cd picolm && make riscv
- name: Check binary
run: ls -la picolm/picolm && file picolm/picolm
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: picolm-linux-riscv64
path: picolm/picolm