test(CI): update matrix for build packages
This commit is contained in:
parent
d90bf9a1db
commit
75381bc945
|
@ -107,7 +107,10 @@ jobs:
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os:
|
emqx:
|
||||||
|
- emqx
|
||||||
|
- emqx-edge
|
||||||
|
os:
|
||||||
- ubuntu20.04
|
- ubuntu20.04
|
||||||
- ubuntu18.04
|
- ubuntu18.04
|
||||||
- ubuntu16.04
|
- ubuntu16.04
|
||||||
|
@ -119,6 +122,11 @@ jobs:
|
||||||
- centos6
|
- centos6
|
||||||
- raspbian10
|
- raspbian10
|
||||||
- raspbian9
|
- raspbian9
|
||||||
|
exclude:
|
||||||
|
- emqx: emqx
|
||||||
|
os: raspbian9
|
||||||
|
- emqx: emqx
|
||||||
|
os: raspbian10
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: prepare docker
|
- name: prepare docker
|
||||||
|
@ -173,55 +181,48 @@ jobs:
|
||||||
- name: build emqx packages on amd64
|
- name: build emqx packages on amd64
|
||||||
env:
|
env:
|
||||||
ERL_OTP: erl22.3
|
ERL_OTP: erl22.3
|
||||||
|
EMQX: ${{ matrix.emqx }}
|
||||||
SYSTEM: ${{ matrix.os }}
|
SYSTEM: ${{ matrix.os }}
|
||||||
if: matrix.os != 'raspbian9' && matrix.os != 'raspbian10'
|
|
||||||
run: |
|
run: |
|
||||||
set -e -u -x
|
set -e -u -x
|
||||||
for EMQX in emqx emqx-edge; do
|
docker buildx build --no-cache \
|
||||||
docker buildx build --no-cache \
|
--platform=linux/amd64 \
|
||||||
--platform=linux/amd64 \
|
-t cross_build_emqx_for_$SYSTEM \
|
||||||
-t cross_build_emqx_for_$SYSTEM \
|
-f .ci/build_packages/Dockerfile \
|
||||||
-f .ci/build_packages/Dockerfile \
|
--build-arg BUILD_FROM=emqx/build-env:$ERL_OTP-$SYSTEM \
|
||||||
--build-arg BUILD_FROM=emqx/build-env:$ERL_OTP-$SYSTEM \
|
--build-arg EMQX_NAME=$EMQX \
|
||||||
--build-arg EMQX_NAME=${EMQX} \
|
--output type=tar,dest=/tmp/cross-build-$EMQX-for-$SYSTEM.tar .
|
||||||
--output type=tar,dest=/tmp/cross-build-$EMQX-for-$SYSTEM.tar .
|
|
||||||
|
|
||||||
mkdir -p /tmp/packages/$EMQX
|
mkdir -p /tmp/packages/$EMQX
|
||||||
tar -xvf /tmp/cross-build-$EMQX-for-$SYSTEM.tar --wildcards emqx/_packages/$EMQX/*
|
tar -xvf /tmp/cross-build-$EMQX-for-$SYSTEM.tar --wildcards emqx/_packages/$EMQX/*
|
||||||
mv emqx/_packages/$EMQX/* /tmp/packages/$EMQX/
|
mv emqx/_packages/$EMQX/* /tmp/packages/$EMQX/
|
||||||
rm -rf /tmp/cross-build-$EMQX-for-$SYSTEM.tar
|
rm -rf /tmp/cross-build-$EMQX-for-$SYSTEM.tar
|
||||||
|
|
||||||
docker rm -f $(docker ps -a -q)
|
docker rm -f $(docker ps -a -q)
|
||||||
docker volume prune -f
|
docker volume prune -f
|
||||||
done
|
|
||||||
- name: build emqx packages on arm64
|
- name: build emqx packages on arm64
|
||||||
if: matrix.os != 'centos6' && startsWith(github.ref, 'refs/tags/')
|
if: matrix.os != 'centos6' && startsWith(github.ref, 'refs/tags/')
|
||||||
env:
|
env:
|
||||||
ERL_OTP: erl22.3
|
ERL_OTP: erl22.3
|
||||||
|
EMQX: ${{ matrix.emqx }}
|
||||||
SYSTEM: ${{ matrix.os }}
|
SYSTEM: ${{ matrix.os }}
|
||||||
run: |
|
run: |
|
||||||
set -e -u -x
|
set -e -u -x
|
||||||
for EMQX in emqx emqx-edge; do
|
docker buildx build --no-cache \
|
||||||
if [ "$EMQX" == "emqx" ] && [ ! -z $( echo $SYSTEM | grep -o raspbian) ];then
|
--platform=linux/arm64 \
|
||||||
continue
|
-t cross_build_emqx_for_$SYSTEM \
|
||||||
fi
|
-f .ci/build_packages/Dockerfile \
|
||||||
|
--build-arg BUILD_FROM=emqx/build-env:$ERL_OTP-$SYSTEM \
|
||||||
|
--build-arg EMQX_NAME=$EMQX \
|
||||||
|
--output type=tar,dest=/tmp/cross-build-$EMQX-for-$SYSTEM.tar . || df -h
|
||||||
|
|
||||||
docker buildx build --no-cache \
|
mkdir -p /tmp/packages/$EMQX
|
||||||
--platform=linux/arm64 \
|
tar -xvf /tmp/cross-build-$EMQX-for-$SYSTEM.tar --wildcards emqx/_packages/$EMQX/*
|
||||||
-t cross_build_emqx_for_$SYSTEM \
|
mv emqx/_packages/$EMQX/* /tmp/packages/$EMQX/
|
||||||
-f .ci/build_packages/Dockerfile \
|
rm -rf /tmp/cross-build-$EMQX-for-$SYSTEM.tar
|
||||||
--build-arg BUILD_FROM=emqx/build-env:$ERL_OTP-$SYSTEM \
|
|
||||||
--build-arg EMQX_NAME=${EMQX} \
|
|
||||||
--output type=tar,dest=/tmp/cross-build-$EMQX-for-$SYSTEM.tar . || df -h
|
|
||||||
|
|
||||||
mkdir -p /tmp/packages/$EMQX
|
docker rm -f $(docker ps -a -q)
|
||||||
tar -xvf /tmp/cross-build-$EMQX-for-$SYSTEM.tar --wildcards emqx/_packages/$EMQX/*
|
docker volume prune -f
|
||||||
mv emqx/_packages/$EMQX/* /tmp/packages/$EMQX/
|
|
||||||
rm -rf /tmp/cross-build-$EMQX-for-$SYSTEM.tar
|
|
||||||
|
|
||||||
docker rm -f $(docker ps -a -q)
|
|
||||||
docker volume prune -f
|
|
||||||
done
|
|
||||||
- name: create sha256
|
- name: create sha256
|
||||||
run: |
|
run: |
|
||||||
if [ -d /tmp/packages/emqx ]; then
|
if [ -d /tmp/packages/emqx ]; then
|
||||||
|
|
Loading…
Reference in New Issue