Skip to content

Merge pull request #127 from HyperInspire/feature/rv1106 #144

Merge pull request #127 from HyperInspire/feature/rv1106

Merge pull request #127 from HyperInspire/feature/rv1106 #144

Workflow file for this run

name: Build SDKs
on:
push:
branches: ["master"]
pull_request:
branches: ["master"]
# Set the global GitHub token environment variable
env:
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
jobs:
build_linux_x86:
name: Compile Linux-Ubuntu-x86
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install necessary dependencies for building the CMake project
- name: Install Dependencies
run: |
sudo apt-get update # Update package lists
# Install build tools and required libraries for video processing
sudo apt-get install -y build-essential libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev
# Step 4: Start building the SDK
- name: Start Building the InspireFace-Linux-x86
run: |
bash command/build_linux_ubuntu18.sh
ls build
build_macos_x86:
name: Compile MacOS-x86
runs-on: macos-13
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install necessary dependencies for building the CMake project
- name: Install Dependencies
run: |
brew install cmake
# Step 4: Start building the SDK
- name: Start Building the InspireFace-MacOS-x86
run: |
bash command/build_macos_x86.sh
ls build
build_macos_arm64:
name: Compile MacOS-arm64
runs-on: macos-14
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install necessary dependencies for building the CMake project
- name: Install Dependencies
run: |
brew install cmake
# Step 4: Start building the SDK
- name: Start Building the InspireFace-MacOS-arm64
run: |
bash command/build_macos_arm64.sh
ls build
build_armv7_armhf:
name: Compile Armv7-armhf
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install wget and xz-utils
- name: Install wget and xz-utils
run: |
sudo apt-get update
sudo apt-get install -y wget xz-utils
# Step 4: Download Toolchain
- name: Download and Extract Linaro Toolchain
run: |
mkdir -p /opt/linaro-toolchain
wget -qO- https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xz | tar -xJ -C /opt/linaro-toolchain --strip-components=1
# Step 5: Install Toolchain
- name: Set environment variables
run: |
echo "ARM_CROSS_COMPILE_TOOLCHAIN=/opt/linaro-toolchain" >> $GITHUB_ENV
echo "PATH=/opt/linaro-toolchain/bin:${PATH}" >> $GITHUB_ENV
# Step 6: Start building the SDK
- name: Start Building the InspireFace-Linux-armv7
run: |
bash command/build_cross_armv7_armhf.sh
ls build
build_armv7_rv1109rv1126_armhf:
name: Compile Linux-armv7-rv1109rv1126-armhf
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install wget and xz-utils
- name: Install wget and xz-utils
run: |
sudo apt-get update
sudo apt-get install -y wget xz-utils
# Step 4: Download Toolchain
- name: Download and Extract Linaro Toolchain
run: |
mkdir -p /opt/linaro-toolchain
wget -qO- https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf.tar.xz | tar -xJ -C /opt/linaro-toolchain --strip-components=1
# Step 5: Install Toolchain
- name: Set environment variables
run: |
echo "ARM_CROSS_COMPILE_TOOLCHAIN=/opt/linaro-toolchain" >> $GITHUB_ENV
echo "PATH=/opt/linaro-toolchain/bin:${PATH}" >> $GITHUB_ENV
# Step 6: Start building the SDK
- name: Start Building the InspireFace-Linux-armv7-rv1109rv1126
run: |
bash command/build_cross_rv1109rv1126_armhf.sh
ls build
build_linux_aarch64:
name: Compile Linux-Aarch64
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install wget and xz-utils
- name: Install wget and xz-utils
run: |
sudo apt-get update
sudo apt-get install -y wget xz-utils
# Step 4: Download Toolchain
- name: Download and Extract Linaro Toolchain
run: |
mkdir -p /opt/linaro-toolchain
wget -qO- https://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu.tar.xz | tar -xJ -C /opt/linaro-toolchain --strip-components=1
# Step 5: Install Toolchain
- name: Set environment variables
run: |
echo "ARM_CROSS_COMPILE_TOOLCHAIN=/opt/linaro-toolchain" >> $GITHUB_ENV
echo "PATH=/opt/linaro-toolchain/bin:${PATH}" >> $GITHUB_ENV
# Step 6: Start building the SDK
- name: Start Building the InspireFace-Linux-aarch64
run: |
bash command/build_cross_aarch64.sh
ls build
build_android:
name: Compile Android
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install dependencies
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y wget unzip xz-utils
# Step 4: Download and Extract Android NDK
- name: Download and Extract Android NDK
run: |
mkdir -p /opt/android-ndk-r18b
wget -qO /tmp/android-ndk.zip https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip
unzip /tmp/android-ndk.zip -d /opt
rm /tmp/android-ndk.zip
# Step 5: Install Android NDK Environment Variables
- name: Set Android NDK Environment Variables
run: |
echo "ANDROID_NDK=/opt/android-ndk-r18b" >> $GITHUB_ENV
echo "PATH=/opt/android-ndk-r18b/bin:${PATH}" >> $GITHUB_ENV
# Step 6: Download and Extract OpenCV Android SDK
- name: Download and Extract OpenCV Android SDK
run: |
mkdir -p /opt/opencv-android-sdk
wget -qO /tmp/opencv-android-sdk.zip https://github.com/opencv/opencv/releases/download/4.5.1/opencv-4.5.1-android-sdk.zip
unzip /tmp/opencv-android-sdk.zip -d /opt/opencv-android-sdk
rm /tmp/opencv-android-sdk.zip
# Step 7: Set OpenCV Environment Variables
- name: Set OpenCV Environment Variables
run: |
echo "OPENCV_DIR=/opt/opencv-android-sdk/OpenCV-android-sdk/sdk/native/jni" >> $GITHUB_ENV
# Step 8: Start building the SDK
- name: Start Building the InspireFace-Android
run: |
bash command/build_android.sh
ls build
build_ios:
name: Compile iOS-arm64
runs-on: macos-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Start building the SDK
- name: Start Building the InspireFace-iOS
run: |
bash command/build_ios.sh
ls build
build_manylinux2014_x86:
name: Compile manylinux2014-x86
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Set up Docker Compose
- name: Set up Docker Compose
run: |
sudo apt-get update
sudo apt-get install -y docker-compose
# Step 4: Execute the docker-compose command
- name: Execute Docker Compose
run: |
docker-compose up build-manylinux2014-x86
ls build
build_armv7_rv1106_armhf_uclibc:
name: Compile Linux-armv7 rv1106
runs-on: ubuntu-latest
steps:
# Step 1: Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Step 2: Synchronize and update submodules recursively
- name: Update submodules
run: |
git clone --recurse-submodules https://github.com/tunmx/inspireface-3rdparty.git 3rdparty
# Step 3: Install wget and xz-utils
- name: Install wget and xz-utils
run: |
sudo apt-get update
sudo apt-get install -y wget xz-utils
# Step 4: Download Toolchain
- name: Download and Extract Linaro Toolchain
run: |
git clone https://github.com/tunmx/arm-rockchip830-linux-uclibcgnueabihf.git
# Step 5: Install Toolchain
- name: Set environment variables
run: |
echo "ARM_CROSS_COMPILE_TOOLCHAIN=${{ github.workspace }}/arm-rockchip830-linux-uclibcgnueabihf" >> $GITHUB_ENV
echo "PATH=${{ github.workspace }}/arm-rockchip830-linux-uclibcgnueabihf/bin:${PATH}" >> $GITHUB_ENV
# Step 6: Start building the SDK
- name: Start Building the InspireFace-Linux-armv7-rv1106
run: |
bash command/build_cross_rv1106_armhf_uclibc.sh
ls build