Cross-Platform Build and Deploy #43
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Cross-Platform Build and Deploy | |
on: | |
workflow_dispatch: # manually trigger | |
permissions: | |
contents: write | |
jobs: | |
#Windows | |
build_windows_test_and_run_MSVC: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\test\win64 | |
.\RunTest_MSVC.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
build_windows_test_and_run_Clang: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\test\win64 | |
.\RunTest_Clang.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
build_windows_static_lib_MSVC: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\lib\win64 | |
.\Build_Static_Lib_MSVC.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win64_static_artifact | |
path: dist\static_lib\win64\ | |
build_windows_dynamic_lib_MSVC: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\lib\win64 | |
.\Build_Dynamic_Lib_MSVC.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win64_dynamic_artifact | |
path: dist\dynamic_lib\win64\ | |
build_windows_static_lib_Clang: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\lib\win64 | |
.\Build_Static_Lib_Clang.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
build_windows_dynamic_lib_Clang: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Windows | |
run: | | |
cd build\lib\win64 | |
.\Build_Dynamic_Lib_Clang.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
build_windows_tools: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build decoder for Windows | |
run: | | |
cd build\tools\log_decoder\win64 | |
.\GenerateExecutable.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
- name: Build category_log_generator for Windows | |
run: | | |
cd build\tools\category_log_generator\win64 | |
.\GenerateExecutable.bat | |
env: | |
VS_PATH: "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Common7\\IDE" | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win64_tools_artifact | |
path: bin\tools\win64 | |
#Android | |
build_windows_android: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up NDK | |
uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r26 | |
local-cache: false | |
- name: Build for Windows Android | |
run: | | |
cd build\lib\android | |
.\Win_Build_Dynamic_Lib.bat | |
env: | |
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }} | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: win64_android_artifact | |
path: dist\dynamic_lib\android\ | |
build_mac_android: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up NDK | |
uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r26 | |
local-cache: false | |
- name: Build for Mac Android | |
run: | | |
cd build/lib/android | |
chmod +x *.sh | |
./Mac_Build_Dynamic_Lib.sh | |
env: | |
ANDROID_NDK_ROOT: ${{ steps.setup-ndk.outputs.ndk-path }} | |
#Linux-ubuntu | |
build_ubuntu_test_and_run_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/test/linux | |
chmod +x *.sh | |
./RunTest_GCC.sh | |
build_ubuntu_test_and_run_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/test/linux | |
chmod +x *.sh | |
./RunTest_Clang.sh | |
build_ubuntu_static_lib_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateStaticLib_Clang.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_static_artifact | |
path: | | |
dist/static_lib/linux/ | |
dist/static_lib/include/ | |
build_ubuntu_dynamic_lib_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateDynamicLib_Clang.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_dynamic_artifact | |
path: | | |
dist/dynamic_lib/linux/ | |
dist/dynamic_lib/include/ | |
build_ubuntu_static_lib_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateStaticLib_GCC.sh | |
build_ubuntu_dynamic_lib_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build for Linux | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateDynamicLib_GCC.sh | |
build_ubuntu_tools_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build decoder for Linux | |
run: | | |
cd build/tools/log_decoder/linux | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
- name: Build category_log_generator for Linux | |
run: | | |
cd build/tools/category_log_generator/linux | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: linux_tools_artifact | |
path: bin/tools/linux | |
build_ubuntu_tools_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Build decoder for Linux | |
run: | | |
cd build/tools/log_decoder/linux | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
- name: Build category_log_generator for Linux | |
run: | | |
cd build/tools/category_log_generator/linux | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
#linux-debian | |
build_debian_test_and_run_GCC: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
while :; do echo "Still compiling..."; sleep 60; done & | |
PERIODIC_OUTPUT_PID=$! | |
cd build/test/linux | |
chmod +x *.sh | |
./RunTest_GCC.sh | |
kill $PERIODIC_OUTPUT_PID | |
build_debian_test_and_run_Clang: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
while :; do echo "Still compiling..."; sleep 60; done & | |
PERIODIC_OUTPUT_PID=$! | |
cd build/test/linux | |
chmod +x *.sh | |
./RunTest_Clang.sh | |
kill $PERIODIC_OUTPUT_PID | |
build_debian_static_lib_GCC: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateStaticLib_GCC.sh | |
build_debian_dynamic_lib_GCC: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateDynamicLib_GCC.sh | |
build_debian_static_lib_Clang: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateStaticLib_Clang.sh | |
build_debian_dynamic_lib_Clang: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build for Debian | |
run: | | |
cd build/lib/linux | |
chmod +x *.sh | |
./GenerateDynamicLib_Clang.sh | |
build_debian_tools_Clang: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build log_decoder for Debian | |
run: | | |
cd build/tools/log_decoder/linux | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
- name: Build category_log_generator for Debian | |
run: | | |
cd build/tools/category_log_generator/linux | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
build_debian_tools_GCC: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/pippocao/bqlog/debian:latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install necessary tools (gcc and clang) | |
run: | | |
apt-get update | |
apt-get install -y gcc clang g++ make cmake | |
apt-get install -y software-properties-common | |
apt-get update | |
apt-get install -y openjdk-17-jdk | |
- name: Set up Java | |
run: | | |
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 | |
echo "JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" >> $GITHUB_ENV | |
- name: Build log_decoder for Debian | |
run: | | |
cd build/tools/log_decoder/linux | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
- name: Build category_log_generator for Debian | |
run: | | |
cd build/tools/category_log_generator/linux | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
#Mac | |
build_mac_test_and_run: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up XCode | |
run: sudo xcode-select --switch /Applications/Xcode.app | |
- name: Build for macOS | |
run: | | |
cd build/test/mac | |
chmod +x *.sh | |
./RunTest.sh | |
build_macos_all_static_libs: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up XCode | |
run: sudo xcode-select --switch /Applications/Xcode.app | |
- name: Build for macOS | |
run: | | |
cd build/lib/mac | |
chmod +x *.sh | |
./GenerateStaticLib_AllFormat.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mac_static_artifact | |
path: dist/static_lib/mac/ | |
build_macos_all_dynamic_libs: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up XCode | |
run: sudo xcode-select --switch /Applications/Xcode.app | |
- name: Build for macOS | |
run: | | |
cd build/lib/mac | |
chmod +x *.sh | |
./GenerateDynamicLib_AllFormat.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mac_dynamic_artifact | |
path: dist/dynamic_lib/mac/ | |
build_macos_tools: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up Java | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '11' | |
distribution: 'adopt' | |
- name: Set up XCode | |
run: sudo xcode-select --switch /Applications/Xcode.app | |
- name: Build decoder for macOS | |
run: | | |
cd build/tools/log_decoder/mac | |
chmod +x *.sh | |
./GenerateExecutable.sh | |
- name: Build category_log_generator for macOS | |
run: | | |
cd build/tools/category_log_generator/mac | |
chmod +x *.sh | |
./GenerateExecutable.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mac_tools_artifact | |
path: bin/tools/mac | |
#iOS | |
build_ios: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Set up XCode for iOS | |
run: sudo xcode-select --switch /Applications/Xcode.app | |
- name: Build for iOS | |
run: | | |
cd build/lib/ios | |
chmod +x *.sh | |
./MacGenerator.sh | |
- name: Upload Artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ios_dynamic_artifact | |
path: dist/dynamic_lib/ios/ | |
#Unix-FreeBSD | |
build_freeBSD_test_and_run_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/test/unix_like | |
chmod +x *.sh | |
while :; do echo "Still compiling..."; sleep 60; done & | |
PERIODIC_OUTPUT_PID=$! | |
./RunTest_GCC.sh | |
kill $PERIODIC_OUTPUT_PID | |
build_freeBSD_test_and_run_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/test/unix_like | |
chmod +x *.sh | |
while :; do echo "Still compiling..."; sleep 60; done & | |
PERIODIC_OUTPUT_PID=$! | |
./RunTest_Clang.sh | |
kill $PERIODIC_OUTPUT_PID | |
build_freeBSD_static_lib_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/lib/unix_like | |
chmod +x *.sh | |
./GenerateStaticLib_Clang.sh | |
build_freeBSD_dynamic_lib_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/lib/unix_like | |
chmod +x *.sh | |
./GenerateDynamicLib_Clang.sh | |
build_freeBSD_static_lib_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/lib/unix_like | |
chmod +x *.sh | |
./GenerateStaticLib_GCC.sh | |
build_freeBSD_dynamic_lib_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/lib/unix_like | |
chmod +x *.sh | |
./GenerateDynamicLib_GCC.sh | |
build_freeBSD_tools_Clang: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
mem: 16384 | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/tools/log_decoder/unix_like | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
cd ../../category_log_generator/unix_like | |
chmod +x *.sh | |
./GenerateExecutable_Clang.sh | |
build_freeBSD_tools_GCC: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Run in FreeBSD | |
id: RunInFreeBSD | |
uses: vmactions/freebsd-vm@v1 | |
with: | |
usesh: true | |
mem: 16384 | |
prepare: | | |
pkg install -y gcc cmake bash openjdk11 | |
run: | | |
pkg info -l openjdk11 | grep 'bin/java' | |
export JAVA_HOME="/usr/local/openjdk11" | |
export PATH="$JAVA_HOME/bin:$PATH" | |
echo "JAVA_HOME=$JAVA_HOME" >> $GITHUB_ENV | |
echo "PATH=$PATH" >> $GITHUB_ENV | |
cd build/tools/log_decoder/unix_like | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
cd ../../category_log_generator/unix_like | |
chmod +x *.sh | |
./GenerateExecutable_GCC.sh | |
push_to_repo: | |
runs-on: macos-latest | |
needs: | |
#- build_windows_test_and_run_MSVC | |
#- build_windows_test_and_run_Clang | |
- build_windows_static_lib_MSVC | |
- build_windows_dynamic_lib_MSVC | |
- build_windows_static_lib_Clang | |
- build_windows_dynamic_lib_Clang | |
- build_windows_tools | |
- build_windows_android | |
- build_mac_android | |
#- build_ubuntu_test_and_run_GCC | |
#- build_ubuntu_test_and_run_Clang | |
- build_ubuntu_static_lib_Clang | |
- build_ubuntu_dynamic_lib_Clang | |
- build_ubuntu_static_lib_GCC | |
- build_ubuntu_dynamic_lib_GCC | |
- build_ubuntu_tools_Clang | |
- build_ubuntu_tools_GCC | |
#- build_debian_test_and_run_GCC | |
#- build_debian_test_and_run_Clang | |
- build_debian_static_lib_GCC | |
- build_debian_dynamic_lib_GCC | |
- build_debian_static_lib_Clang | |
- build_debian_dynamic_lib_Clang | |
- build_debian_tools_Clang | |
- build_debian_tools_GCC | |
#- build_mac_test_and_run | |
- build_macos_all_static_libs | |
- build_macos_all_dynamic_libs | |
- build_macos_tools | |
- build_ios | |
#- build_freeBSD_test_and_run_GCC | |
#- build_freeBSD_test_and_run_Clang | |
- build_freeBSD_static_lib_Clang | |
- build_freeBSD_dynamic_lib_Clang | |
- build_freeBSD_static_lib_GCC | |
- build_freeBSD_dynamic_lib_GCC | |
- build_freeBSD_tools_Clang | |
- build_freeBSD_tools_GCC | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Clear Output Folders | |
run: | | |
rm -rf bin/tools/win64 | |
rm -rf bin/tools/linux | |
rm -rf bin/tools/mac | |
rm -rf dist/dynamic_lib/include | |
rm -rf dist/dynamic_lib/android | |
rm -rf dist/dynamic_lib/ios | |
rm -rf dist/dynamic_lib/linux | |
rm -rf dist/dynamic_lib/mac | |
rm -rf dist/dynamic_lib/win64 | |
rm -rf dist/static_lib/include | |
rm -rf dist/static_lib/linux | |
rm -rf dist/static_lib/mac | |
rm -rf dist/static_lib/win64 | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
path: artifacts/ | |
- name: Unzip Artifacts | |
run: | | |
ls -R artifacts/ | |
mkdir -p dist/static_lib/win64 | |
mkdir -p dist/dynamic_lib/win64 | |
mkdir -p bin/tools/win64/ | |
mkdir -p dist/dynamic_lib/android/ | |
mkdir -p dist/static_lib/linux/ | |
mkdir -p dist/dynamic_lib/linux/ | |
mkdir -p bin/tools/linux/ | |
mkdir -p dist/static_lib/mac/ | |
mkdir -p dist/dynamic_lib/mac/ | |
mkdir -p bin/tools/mac/ | |
mkdir -p dist/dynamic_lib/ios/ | |
cp -r artifacts/win64_static_artifact/* dist/static_lib/win64 | |
cp -r artifacts/win64_dynamic_artifact/* dist/dynamic_lib/win64 | |
cp -r artifacts/win64_tools_artifact/* bin/tools/win64/ | |
cp -r artifacts/win64_android_artifact/* dist/dynamic_lib/android/ | |
cp -r artifacts/linux_static_artifact/* dist/static_lib/ | |
cp -r artifacts/linux_dynamic_artifact/* dist/dynamic_lib/ | |
cp -r artifacts/linux_tools_artifact/* bin/tools/linux/ | |
cp -r artifacts/mac_static_artifact/* dist/static_lib/mac/ | |
cp -r artifacts/mac_dynamic_artifact/* dist/dynamic_lib/mac/ | |
cp -r artifacts/mac_tools_artifact/* bin/tools/mac/ | |
cp -r artifacts/ios_dynamic_artifact/* dist/dynamic_lib/ios/ | |
- name: Combine and Commit Build Artifacts | |
run: | | |
git config --global user.name "github-actions[bot]" | |
git config --global user.email "github-actions[bot]@users.noreply.github.com" | |
git add bin/tools/ | |
git add dist/ | |
git commit -m "Github Auto CI" | |
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD) | |
git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/Tencent/BqLog.git HEAD:$BRANCH_NAME |