Skip to content

Commit c58bf7c

Browse files
committed
feat: add GitHub Actions workflows for building, testing, and releasing optimizer binaries
1 parent 29448b1 commit c58bf7c

4 files changed

Lines changed: 85 additions & 64 deletions

File tree

.github/workflows/build.yml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Build Optimizer Binaries
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
branches: [ main ]
7+
8+
jobs:
9+
build:
10+
runs-on: ubuntu-latest
11+
env:
12+
ANDROID_HOME: ${{ github.workspace }}/android-sdk
13+
ANDROID_NDK: ${{ github.workspace }}/android-ndk
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: actions/setup-java@v4
18+
with:
19+
distribution: temurin
20+
java-version: 17
21+
- run: sudo apt-get update && sudo apt-get install -y cmake ninja-build unzip curl
22+
23+
- run: |
24+
mkdir -p "$ANDROID_HOME"
25+
curl -fo sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip
26+
unzip -q sdk.zip -d "$ANDROID_HOME/cmdline-tools"
27+
mv "$ANDROID_HOME/cmdline-tools" "$ANDROID_HOME/cmdline-tools/latest"
28+
yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --sdk_root="$ANDROID_HOME" \
29+
"platform-tools" "platforms;android-21" "build-tools;34.0.0" "ndk;26.2.11394342"
30+
ln -s "$ANDROID_HOME/ndk/26.2.11394342" "$ANDROID_NDK"
31+
32+
- run: chmod +x build.sh && ./build.sh all
33+
- uses: actions/upload-artifact@v4
34+
with:
35+
name: optimizer-binaries
36+
path: bin/**

.github/workflows/builds.yml

Lines changed: 0 additions & 64 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Release PR with Binaries
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_run:
6+
workflows: ["Test Optimizer Binaries"]
7+
types: [completed]
8+
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/download-artifact@v4
15+
with:
16+
name: optimizer-binaries
17+
path: bin
18+
- run: |
19+
git config --global user.name "github-actions[bot]"
20+
git config --global user.email "github-actions[bot]@users.noreply.github.com"
21+
git checkout -b binaries/${{ github.run_id }}
22+
mkdir -p dist && cp -r bin dist/
23+
git add dist && git commit -m "Add binaries ${{ github.run_id }}"
24+
git push origin binaries/${{ github.run_id }}
25+
- uses: peter-evans/create-pull-request@v6
26+
with:
27+
title: "Binaries build ${{ github.run_id }}"
28+
base: main
29+
branch: binaries/${{ github.run_id }}

.github/workflows/test.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Test Optimizer Binaries
2+
3+
on:
4+
workflow_dispatch:
5+
workflow_run:
6+
workflows: ["Build Optimizer Binaries"]
7+
types: [completed]
8+
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/download-artifact@v4
14+
with:
15+
name: optimizer-binaries
16+
path: bin
17+
- run: |
18+
for abi in arm64-v8a armeabi-v7a x86 x86_64; do
19+
[[ -f "bin/$abi/task_optimizer" ]] || exit 1
20+
done

0 commit comments

Comments
 (0)