Skip to content

ondk build

ondk build #127

Workflow file for this run

name: ondk build
on:
workflow_dispatch:
jobs:
linux:
name: Build for Linux
runs-on: ubuntu-22.04
steps:
- name: Check out
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Clean up storage
run: |
sudo rm -rf \
"$JAVA_HOME_8_X64" "$JAVA_HOME_11_X64" "$JAVA_HOME_17_X64" "$JAVA_HOME_21_X64" \
"$CHROMEWEBDRIVER" "$EDGEWEBDRIVER" "$GECKOWEBDRIVER" \
/usr/local/lib/android
- name: Build toolchain
run: |
sudo apt-get update
sudo apt-get -y install cmake ninja-build libzstd-dev binutils-dev
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 20
rm llvm.sh
./build.sh
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: ondk-linux
path: dist/*.tar.xz
windows:
name: Build for Windows
runs-on: windows-2025
defaults:
run:
shell: msys2 {0}
steps:
- name: Check out
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW64
update: true
install: make diffutils tar patch unzip gzip python
pacboy: 7zip:p cmake:p gcc:p ninja:p zstd:p clang:p lld:p libc++:p
- name: Build toolchain
run: |
# Remove libzstd.dll.a to make sure zstd is statically linked
rm -f /mingw64/lib/libzstd.dll.a
bash build-windows.sh
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: ondk-windows
path: dist\*.tar.xz
macos-x64:
name: Build for macOS (x64)
runs-on: macos-15-intel
steps:
- name: Check out
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Build toolchain
run: |
brew reinstall ninja zstd binutils gpatch
./build.sh clone build collect
mkdir tmp
tar c out/collect | xz --x86 --lzma2 > tmp/out.x64.tar.xz
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: macos-x64
path: tmp/*.tar.xz
macos-arm64:
name: Build for macOS (arm64)
runs-on: macos-15
steps:
- name: Check out
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Set up Python 3
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Build toolchain
run: |
brew reinstall ninja zstd binutils gpatch
./build.sh clone build collect
mkdir tmp
tar c out/collect | xz > tmp/out.arm64.tar.xz
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: macos-arm64
path: tmp/*.tar.xz
macos:
name: Build for macOS (Universal)
runs-on: macos-15
needs: [macos-x64, macos-arm64]
steps:
- name: Check out
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Download x64 artifacts
uses: actions/download-artifact@v4
with:
name: macos-x64
path: tmp
- name: Download arm64 artifacts
uses: actions/download-artifact@v4
with:
name: macos-arm64
path: tmp
- name: Build ONDK
run: ./dist-macos.sh
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: ondk-macos
path: dist/*.tar.xz
- name: Remove x64 artifact
uses: geekyeggo/delete-artifact@v4
with:
name: macos-x64
failOnError: false
- name: Remove arm64 artifact
uses: geekyeggo/delete-artifact@v4
with:
name: macos-arm64
failOnError: false