ci: build neuron by docker

This commit is contained in:
fengzero
2022-09-27 02:40:34 +00:00
parent f5e37cd933
commit 8d020ed760
2 changed files with 29 additions and 39 deletions
+10 -22
View File
@@ -13,22 +13,16 @@ jobs:
strategy:
matrix:
arch:
- [aarch64-linux-gnu, aarch64, gcc-aarch64-linux-gnu, g++-aarch64-linux-gnu, /opt/externs/libs, arm64]
- [arm-linux-gnueabihf, armv4, gcc-arm-linux-gnueabihf, g++-arm-linux-gnueabihf, /opt/externs/libs, armhf]
- [x86_64-linux-gnu, x86_64, gcc, g++, /usr/local, amd64]
- [aarch64-linux-gnu, aarch64, arm64]
- [arm-linux-gnueabihf, armv4, armhf]
- [x86_64-linux-gnu, x86_64, amd64]
container: neugates/build:${{ matrix.arch[1] }}-2.2
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: install
run: sudo apt-get update && sudo apt-get install -y ${{ matrix.arch[2] }} ${{ matrix.arch[3] }} pkg-config alien
- name: install dep
run: |
./install.sh -d ${{ matrix.arch[4] }} -c ${{ matrix.arch[0] }} -a ${{ matrix.arch[1] }}
- name: get version
id: get_version
run: echo "::set-output name=version::$(cat version)"
@@ -58,11 +52,11 @@ jobs:
- name: Create neuron sdk package
run: |
./package-sdk.sh -p ${{ matrix.arch[5] }} -n neuron-sdk-${{ steps.get_version.outputs.version }}
./package-sdk.sh -p ${{ matrix.arch[2] }} -n neuron-sdk-${{ steps.get_version.outputs.version }}
- uses: actions/upload-artifact@v3
with:
name: neuron-sdk-${{ matrix.arch[5] }}
name: neuron-sdk-${{ matrix.arch[2] }}
path: |
neuron-sdk-*.tar.gz
@@ -71,20 +65,14 @@ jobs:
strategy:
matrix:
arch:
- [x86_64-linux-gnu, x86_64, gcc, g++, /usr/local, amd64]
- [x86_64-linux-gnu, x86_64, amd64]
container: neugates/build:${{ matrix.arch[1] }}-2.2
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- name: install
run: sudo apt-get update && sudo apt-get install -y ${{ matrix.arch[2] }} ${{ matrix.arch[3] }} pkg-config alien
- name: install dep
run: |
./install.sh -d ${{ matrix.arch[4] }} -c ${{ matrix.arch[0] }} -a ${{ matrix.arch[1] }}
- name: get version
id: get_version
run: echo "::set-output name=version::$(cat version)"
@@ -98,11 +86,11 @@ jobs:
- name: Create neuron sdk package
run: |
./package-sdk.sh -p ${{ matrix.arch[5] }} -n neuron-sdk-debug-${{ steps.get_version.outputs.version }}
./package-sdk.sh -p ${{ matrix.arch[2] }} -n neuron-sdk-debug-${{ steps.get_version.outputs.version }}
- uses: actions/upload-artifact@v3
with:
name: neuron-sdk-debug-${{ matrix.arch[5] }}
name: neuron-sdk-debug-${{ matrix.arch[2] }}
path: |
neuron-sdk-debug-*.tar.gz
+19 -17
View File
@@ -2,26 +2,26 @@
set -e
compiler_prefix="x86_64-linux-gnu"
dir="/usr/local/"
install_dir=
arch=x86_64
compile=
while getopts ":c:d:a:" OPT; do
while getopts ":d:a:c:x:" OPT; do
case ${OPT} in
a)
arch=$OPTARG
;;
c)
compiler_prefix=$OPTARG
;;
d)
dir=$OPTARG
install_dir=$OPTARG
;;
c)
compile=$OPTARG
;;
esac
done
install_dir=${dir}/${compiler_prefix}
gcc_compile=${compile}-gcc
gxx_compile=${compile}-g++
#$1 rep
#$2 tag
@@ -31,8 +31,8 @@ function compile_source() {
cd tmp
git checkout -b br $2
mkdir build && cd build
cmake .. -DCMAKE_C_COMPILER=${compiler_prefix}-gcc \
-DCMAKE_CXX_COMPILER=${compiler_prefix}-g++ \
cmake .. -DCMAKE_C_COMPILER=${gcc_compile} \
-DCMAKE_CXX_COMPILER=${gxx_compile} \
-DCMAKE_STAGING_PREFIX=${install_dir} \
-DCMAKE_PREFIX_PATH=${install_dir} \
$3
@@ -44,16 +44,17 @@ function compile_source() {
function build_openssl() {
echo "Installing openssl (1.1.1)"
if [ $compiler_prefix == "x86_64-linux-gnu" ]; then
if [ $arch == "x86_64" ]; then
sudo apt-get install -y openssl libssl-dev
else
git clone -b OpenSSL_1_1_1 https://github.com/openssl/openssl.git
cd openssl
mkdir -p ${install_dir}/openssl/ssl
./Configure linux-${arch} no-asm shared \
--prefix=${install_dir}/ \
--prefix=${install_dir} \
--openssldir=${install_dir}/openssl/ssl \
--cross-compile-prefix=${compiler_prefix}-
--cross-compile-prefix=${compile}-
make clean
make -j4
make install_sw
@@ -65,8 +66,9 @@ function build_openssl() {
function build_zlog() {
git clone -b 1.2.15 https://github.com/HardySimpson/zlog.git
cd zlog
make CC=${compiler_prefix}-gcc
if [ $compiler_prefix == "x86_64-linux-gnu" ]; then
echo ${gcc_compile}
make CC=${gcc_compile}
if [ $arch == "x86_64" ]; then
sudo make install
sudo make PREFIX=${install_dir} install
else
@@ -82,7 +84,7 @@ function build_sqlite3() {
cd sqlite3
./configure --prefix=${install_dir} \
--disable-shared --disable-readline \
--host ${arch} CC=${compiler_prefix}-gcc \
--host ${arch} CC=${gcc_compile} \
&& make -j4 \
&& sudo make install
cd ../
@@ -96,6 +98,6 @@ compile_source benmcollins/libjwt.git v1.13.1 "-DENABLE_PIC=ON -DBUILD_SHARED_LI
compile_source neugates/MQTT-C.git HEAD "-DCMAKE_POSITION_INDEPENDENT_CODE=ON -DMQTT_C_OpenSSL_SUPPORT=ON -DMQTT_C_EXAMPLES=OFF"
build_sqlite3
if [ $compiler_prefix == "x86_64-linux-gnu" ]; then
if [ $arch == "x86_64" ]; then
compile_source google/googletest.git release-1.11.0
fi