|
|
@@ -155,7 +155,7 @@ jobs:
|
|
|
path: _packages/**/*
|
|
|
|
|
|
docker:
|
|
|
- runs-on: ubuntu-20.04
|
|
|
+ runs-on: ubuntu-22.04
|
|
|
|
|
|
strategy:
|
|
|
fail-fast: false
|
|
|
@@ -168,32 +168,35 @@ jobs:
|
|
|
- uses: actions/checkout@v3
|
|
|
- name: prepare
|
|
|
run: |
|
|
|
- echo "EMQX_NAME=${{ matrix.profile }}" >> $GITHUB_ENV
|
|
|
- - name: build and test docker image
|
|
|
+ EMQX_NAME=${{ matrix.profile }}
|
|
|
+ PKG_VSN=${PKG_VSN:-$(./pkg-vsn.sh $EMQX_NAME)}
|
|
|
+ EMQX_IMAGE_TAG=emqx/$EMQX_NAME:test
|
|
|
+ echo "EMQX_NAME=$EMQX_NAME" >> $GITHUB_ENV
|
|
|
+ echo "PKG_VSN=$PKG_VSN" >> $GITHUB_ENV
|
|
|
+ echo "EMQX_IMAGE_TAG=$EMQX_IMAGE_TAG" >> $GITHUB_ENV
|
|
|
+ - uses: docker/setup-buildx-action@v2
|
|
|
+ - name: build and export to Docker
|
|
|
+ uses: docker/build-push-action@v4
|
|
|
+ with:
|
|
|
+ context: .
|
|
|
+ file: ./deploy/docker/Dockerfile
|
|
|
+ load: true
|
|
|
+ tags: ${{ env.EMQX_IMAGE_TAG }}
|
|
|
+ build-args: |
|
|
|
+ EMQX_NAME=${{ env.EMQX_NAME }}
|
|
|
+ - name: test docker image
|
|
|
run: |
|
|
|
- set -x
|
|
|
- make $EMQX_NAME-docker
|
|
|
- PKG_VSN="${PKG_VSN:-$(./pkg-vsn.sh $EMQX_NAME)}"
|
|
|
- EMQX_IMAGE_TAG="${EMQX_IMAGE_TAG:-emqx/$EMQX_NAME:$PKG_VSN}"
|
|
|
CID=$(docker run -d --rm -P $EMQX_IMAGE_TAG)
|
|
|
HTTP_PORT=$(docker inspect --format='{{(index (index .NetworkSettings.Ports "18083/tcp") 0).HostPort}}' $CID)
|
|
|
- IDLE_TIME=0
|
|
|
- while ! curl http://127.0.0.1:$HTTP_PORT/status >/dev/null 2>&1; do
|
|
|
- if [ $IDLE_TIME -gt 5 ]
|
|
|
- then
|
|
|
- echo "emqx running error"
|
|
|
- docker rm -f $CID
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- sleep 5
|
|
|
- IDLE_TIME=$((IDLE_TIME+1))
|
|
|
- done
|
|
|
+ ./scripts/test/emqx-smoke-test.sh localhost $HTTP_PORT
|
|
|
docker stop $CID
|
|
|
+ - name: export docker image
|
|
|
+ run: |
|
|
|
docker save $EMQX_IMAGE_TAG | gzip > $EMQX_NAME-$PKG_VSN.tar.gz
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
with:
|
|
|
name: "${{ matrix.profile }}-docker"
|
|
|
- path: "*.tar.gz"
|
|
|
+ path: "${{ env.EMQX_NAME }}-${{ env.PKG_VSN }}.tar.gz"
|
|
|
|
|
|
spellcheck:
|
|
|
needs: linux
|