|
|
@@ -27,6 +27,12 @@ on:
|
|
|
required: false
|
|
|
AWS_SECRET_ACCESS_KEY:
|
|
|
required: false
|
|
|
+ AWS_DEFAULT_REGION:
|
|
|
+ required: false
|
|
|
+ AWS_S3_BUCKET:
|
|
|
+ required: false
|
|
|
+ AWS_CLOUDFRONT_ID:
|
|
|
+ required: false
|
|
|
workflow_dispatch:
|
|
|
inputs:
|
|
|
ref:
|
|
|
@@ -111,6 +117,7 @@ jobs:
|
|
|
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
|
|
|
with:
|
|
|
ref: ${{ github.event.inputs.ref }}
|
|
|
+
|
|
|
- uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8
|
|
|
with:
|
|
|
pattern: "${{ matrix.profile[0] }}-*.tar.gz"
|
|
|
@@ -222,3 +229,35 @@ jobs:
|
|
|
export BUILD_FROM="${_EMQX_DOCKER_IMAGE_TAG}"
|
|
|
export EMQX_IMAGE_TAG="${_EMQX_DOCKER_IMAGE_TAG##docker.io/}-sf"
|
|
|
./build ${PROFILE} docker
|
|
|
+
|
|
|
+ - uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
|
|
|
+ if: inputs.publish || github.repository_owner != 'emqx'
|
|
|
+ with:
|
|
|
+ aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
|
|
+ aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
|
|
+ aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
|
|
|
+
|
|
|
+ - name: upload to aws s3
|
|
|
+ if: inputs.publish || github.repository_owner != 'emqx'
|
|
|
+ env:
|
|
|
+ AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
|
|
|
+ AWS_CLOUDFRONT_ID: ${{ secrets.AWS_CLOUDFRONT_ID }}
|
|
|
+ ORIG_PROFILE: ${{ inputs.profile }}
|
|
|
+ run: |
|
|
|
+ set -xeuo pipefail
|
|
|
+ if [ $ORIG_PROFILE = 'emqx' ]; then
|
|
|
+ s3dir="emqx-ce/v$PKG_VSN"
|
|
|
+ elif [ $ORIG_PROFILE = 'emqx-enterprise' ]; then
|
|
|
+ s3dir="emqx-ee/e$PKG_VSN"
|
|
|
+ else
|
|
|
+ echo "unknown profile $ORIG_PROFILE"
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ docker pull --platform linux/amd64 "${_EMQX_DOCKER_IMAGE_TAG}"
|
|
|
+ docker save "${_EMQX_DOCKER_IMAGE_TAG}" | gzip > "$PROFILE-$PKG_VSN-docker-amd64.tar.gz"
|
|
|
+ docker pull --platform linux/arm64 "${_EMQX_DOCKER_IMAGE_TAG}"
|
|
|
+ docker save "${_EMQX_DOCKER_IMAGE_TAG}" | gzip > "$PROFILE-$PKG_VSN-docker-arm64.tar.gz"
|
|
|
+ ls -lh
|
|
|
+ aws s3 cp "$PROFILE-$PKG_VSN-docker-amd64.tar.gz" "s3://$AWS_S3_BUCKET/$s3dir/"
|
|
|
+ aws s3 cp "$PROFILE-$PKG_VSN-docker-arm64.tar.gz" "s3://$AWS_S3_BUCKET/$s3dir/"
|
|
|
+ aws cloudfront create-invalidation --distribution-id "$AWS_CLOUDFRONT_ID" --paths "/$s3dir/*docker*"
|