Merge pull request #71 from emqx/dev/fix-autorate-range #63
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "*" | |
workflow_dispatch: | |
inputs: | |
ref: | |
type: string | |
required: true | |
dryrun: | |
type: boolean | |
required: true | |
default: false | |
jobs: | |
# Build documentation once, since it requires a lot of 3rd party | |
# tooling, then reuse it as an artifact: | |
docs: | |
runs-on: ubuntu-latest | |
container: | |
image: ghcr.io/emqx/emqx-builder/5.3-6:1.15.7-26.2.3-1-ubuntu24.04 | |
steps: | |
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
ref: ${{ github.event.inputs.ref }} | |
fetch-depth: 0 | |
- shell: bash | |
name: Install additional packages | |
run: | | |
apt-get update | |
apt-get install -y openjdk-11-jdk asciidoctor xsltproc docbook-xsl python3-pygments | |
- name: Build | |
shell: bash | |
run: | | |
export BUILD_WITHOUT_QUIC=1 | |
git config --global --add safe.directory $(pwd) | |
make release | |
tar czf docs.tar.gz _build/lee_doc/html _build/lee_doc/man _build/lee_doc/src/ | |
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | |
with: | |
name: docs | |
path: docs.tar.gz | |
# Do normal builds: | |
linux: | |
runs-on: ubuntu-latest | |
needs: docs | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: | |
- "26.2.3-1" | |
os: | |
- ubuntu24.04 | |
- ubuntu22.04 | |
- ubuntu20.04 | |
- debian12 | |
- debian11 | |
- debian10 | |
- el9 | |
- el8 | |
- el7 | |
- amzn2 | |
- amzn2023 | |
env: | |
EMQX_BUILDER: ghcr.io/emqx/emqx-builder/5.3-6:1.15.7-${{ matrix.otp }}-${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
ref: ${{ github.event.inputs.ref }} | |
fetch-depth: 0 | |
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | |
with: | |
name: docs | |
path: . | |
- name: Build | |
shell: bash | |
run: | | |
tar xf docs.tar.gz | |
docker run -t --rm -v $(pwd):/emqttb -w /emqttb -e CAN_BUILD_DOCS=false -e REBAR=/usr/local/bin/rebar3 $EMQX_BUILDER bash -c 'git config --global --add safe.directory /emqttb && make release' | |
- name: Test | |
shell: bash | |
run: | | |
mkdir test-package | |
cp *.tar.gz test-package/ | |
pushd test-package | |
tar xfz emqttb*.tar.gz | |
docker network create emqttb | |
docker run -d --name emqx --network emqttb emqx/emqx:latest | |
docker run -t --rm -v $(pwd):/emqttb -w /emqttb --network emqttb $EMQX_BUILDER bash -c 'bin/emqttb --loiter 5s @pub -t test @g --host emqx' | |
popd | |
- if: failure() | |
run: cat rebar3.crashdump | |
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | |
if: success() | |
with: | |
name: emqttb-${{ matrix.os }}-${{ matrix.otp }} | |
path: ./emqttb*.tar.gz | |
mac: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- macos-13 | |
- macos-14 | |
otp: | |
- "26" | |
runs-on: ${{ matrix.macos }} | |
needs: docs | |
steps: | |
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 | |
with: | |
ref: ${{ github.event.inputs.ref }} | |
fetch-depth: 0 | |
- name: prepare | |
run: | | |
brew install coreutils erlang@${{ matrix.otp }} | |
brew link --force erlang@${{ matrix.otp }} | |
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | |
with: | |
name: docs | |
path: . | |
- name: build | |
shell: bash | |
run: | | |
tar xf docs.tar.gz | |
export CAN_BUILD_DOCS=false | |
export BUILD_WITHOUT_QUIC=1 | |
make release | |
- name: Test | |
shell: bash | |
run: | | |
brew install emqx | |
emqx start | |
mkdir test-package | |
cp *.tar.gz test-package/ | |
pushd test-package | |
tar xfz emqttb*.tar.gz | |
bin/emqttb --loiter 5s @pub -t test @g --host localhost | |
popd | |
- if: failure() | |
run: cat rebar3.crashdump | |
- uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 | |
if: success() | |
with: | |
name: emqttb-${{ matrix.macos }}-${{ matrix.otp }} | |
path: ./emqttb-*.tar.gz | |
release: | |
runs-on: ubuntu-latest | |
needs: | |
- linux | |
- mac | |
if: startsWith(github.ref, 'refs/tags/') && !inputs.dryrun | |
steps: | |
- uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 | |
with: | |
pattern: "emqttb-*" | |
path: packages | |
merge-multiple: true | |
- name: Create Release | |
uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5 | |
with: | |
name: EMQTT bench daemon ${{ github.ref_name }} Released | |
body: EMQTT bench daemon ${{ github.ref_name }} Released | |
files: packages/* | |
draft: false | |
prerelease: false |