Skip to content

build(deps): update stringzilla requirement from =3.12.6 to =4.2.3 #238

build(deps): update stringzilla requirement from =3.12.6 to =4.2.3

build(deps): update stringzilla requirement from =3.12.6 to =4.2.3 #238

Workflow file for this run

# Copyright 2023 [email protected]
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: ci-build
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
release-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup ndk
run: |
ndk_url=$(wget -qO- https://github.com/android/ndk/releases/latest | grep -e 'https://dl.google.com/android/repository/android-ndk-.*-linux.zip' | sed -n 's/.*<a href="\([^"]*\)".*/\1/p')
wget -O ndk.zip $ndk_url -nv
mkdir ~/ndk_temp
unzip ndk.zip -d ~/ndk_temp 2>&1 > /dev/null
mv ~/ndk_temp/*/* ~/ndk_temp
wget https://github.com/reigadegr/thread-opt_builder/raw/main/libbinder_ndk.so
cp -f libbinder_ndk.so ~/ndk_temp/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/35/libbinder_ndk.so
- name: Setup rust toolchains
run: |
rustup default nightly
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
rustup component add rust-src llvm-tools-preview
rustup update
- name: Install cargo ndk
run: cargo install cargo-ndk
- name: Other deps
run: |
sudo apt update
sudo apt install gcc-multilib llvm clang make cmake
- name: Build
run: |
export ANDROID_NDK_HOME=$(realpath ~/ndk_temp)
export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME
rm -rf .cargo Cargo.lock
wget https://github.com/reigadegr/thread-opt_builder/releases/download/pgo/merged.profdata
mkdir -p ./target/pgo-data
cp merged.profdata ./target/pgo-data
sh pgo.sh
- name: Prepare artifacts
run: |
mkdir -p output/artifact/release
unzip "output/thread-opt_release_*.zip" -d output/artifact/release
- name: Upload release version
uses: actions/upload-artifact@v4
with:
name: thread-opt(release)
compression-level: 9
path: output/artifact/release
debug-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup ndk
run: |
ndk_url=$(wget -qO- https://github.com/android/ndk/releases/latest | grep -e 'https://dl.google.com/android/repository/android-ndk-.*-linux.zip' | sed -n 's/.*<a href="\([^"]*\)".*/\1/p')
wget -O ndk.zip $ndk_url -nv
mkdir ~/ndk_temp
unzip ndk.zip -d ~/ndk_temp 2>&1 > /dev/null
mv ~/ndk_temp/*/* ~/ndk_temp
- name: Setup rust toolchains
run: |
rustup default nightly
rustup target add aarch64-linux-android armv7-linux-androideabi x86_64-linux-android i686-linux-android
rustup component add rust-src
rustup update
- name: Install cargo ndk
run: cargo install cargo-ndk
- name: Other deps
run: |
sudo apt update
sudo apt install gcc-multilib
- name: Build
run: |
export ANDROID_NDK_HOME=$(realpath ~/ndk_temp)
export ANDROID_NDK_ROOT=$ANDROID_NDK_HOME
rm -rf .cargo Cargo.lock
python3 ./make.py build --debug --nightly
- name: Prepare artifacts
run: |
mkdir -p output/artifact/release
unzip "output/thread-opt_debug_*.zip" -d output/artifact/debug
- name: Upload release version
uses: actions/upload-artifact@v4
with:
name: thread-opt(debug)
compression-level: 9
path: output/artifact/debug