@@ -14,125 +14,125 @@ on:
1414 default : false
1515
1616jobs :
17- docker :
18- runs-on : ubuntu-latest
19- strategy :
20- fail-fast : false
21- matrix :
22- otp :
23- - 27.2-3
24- elixir :
25- - 1.18.3
26- steps :
27- - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
28- with :
29- ref : ${{ github.event.inputs.branch_or_tag }}
30- fetch-depth : 0
31- - uses : docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
32- - uses : docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
33- - uses : docker/metadata-action@dbef88086f6cef02e264edb7dbf63250c17cef6c # v5.5.0
34- id : meta
35- with :
36- images : ${{ github.repository }}
37- tags : |
38- type=ref,event=branch
39- type=ref,event=tag
40- type=semver,pattern={{version}}
41- type=semver,pattern={{major}}.{{minor}}
42- - uses : docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
43- if : github.event_name == 'push' || inputs.publish_release_artifacts
44- with :
45- username : ${{ secrets.DOCKER_HUB_USER }}
46- password : ${{ secrets.DOCKER_HUB_TOKEN }}
47- - uses : docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
48- with :
49- context : .
50- platforms : linux/amd64,linux/arm64
51- push : ${{ github.event_name == 'push' || inputs.publish_release_artifacts == true }}
52- tags : ${{ steps.meta.outputs.tags }}
53- labels : ${{ steps.meta.outputs.labels }}
54- build-args : |
55- FROM=ghcr.io/emqx/emqx-builder/5.5-2:${{ matrix.elixir }}-${{ matrix.otp }}-debian12
17+ # docker:
18+ # runs-on: ubuntu-latest
19+ # strategy:
20+ # fail-fast: false
21+ # matrix:
22+ # otp:
23+ # - 27.2-3
24+ # elixir:
25+ # - 1.18.3
26+ # steps:
27+ # - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
28+ # with:
29+ # ref: ${{ github.event.inputs.branch_or_tag }}
30+ # fetch-depth: 0
31+ # - uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
32+ # - uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
33+ # - uses: docker/metadata-action@dbef88086f6cef02e264edb7dbf63250c17cef6c # v5.5.0
34+ # id: meta
35+ # with:
36+ # images: ${{ github.repository }}
37+ # tags: |
38+ # type=ref,event=branch
39+ # type=ref,event=tag
40+ # type=semver,pattern={{version}}
41+ # type=semver,pattern={{major}}.{{minor}}
42+ # - uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
43+ # if: github.event_name == 'push' || inputs.publish_release_artifacts
44+ # with:
45+ # username: ${{ secrets.DOCKER_HUB_USER }}
46+ # password: ${{ secrets.DOCKER_HUB_TOKEN }}
47+ # - uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
48+ # with:
49+ # context: .
50+ # platforms: linux/amd64,linux/arm64
51+ # push: ${{ github.event_name == 'push' || inputs.publish_release_artifacts == true }}
52+ # tags: ${{ steps.meta.outputs.tags }}
53+ # labels: ${{ steps.meta.outputs.labels }}
54+ # build-args: |
55+ # FROM=ghcr.io/emqx/emqx-builder/5.5-2:${{ matrix.elixir }}-${{ matrix.otp }}-debian12
5656
57- linux :
58- strategy :
59- fail-fast : false
60- matrix :
61- otp :
62- - 27.2-3
63- elixir :
64- - 1.18.3
65- quic_support :
66- - true
67- - false
68- os :
69- - ubuntu24.04
70- - ubuntu22.04
71- - ubuntu20.04
72- - debian12
73- - debian11
74- - el9
75- - el8
76- - el7
77- - amzn2
78- - amzn2023
79- arch :
80- - amd64
81- - arm64
82- runs-on : ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
83- env :
84- IMAGE : ghcr.io/emqx/emqx-builder/5.5-2:1.18.3-${{ matrix.otp }}-${{ matrix.os }}
57+ # linux:
58+ # strategy:
59+ # fail-fast: false
60+ # matrix:
61+ # otp:
62+ # - 27.2-3
63+ # elixir:
64+ # - 1.18.3
65+ # quic_support:
66+ # - true
67+ # - false
68+ # os:
69+ # - ubuntu24.04
70+ # - ubuntu22.04
71+ # - ubuntu20.04
72+ # - debian12
73+ # - debian11
74+ # - el9
75+ # - el8
76+ # - el7
77+ # - amzn2
78+ # - amzn2023
79+ # arch:
80+ # - amd64
81+ # - arm64
82+ # runs-on: ${{ matrix.arch == 'arm64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
83+ # env:
84+ # IMAGE: ghcr.io/emqx/emqx-builder/5.5-2:1.18.3-${{ matrix.otp }}-${{ matrix.os }}
8585
86- steps :
87- - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
88- with :
89- fetch-depth : 0
90- ref : ${{ github.event.inputs.branch_or_tag }}
91- - name : build
92- run : >-
93- if [ "false" == ${{ matrix.quic_support }} ]; then
94- docker run --rm -v ${PWD}:/wd -w /wd -e BUILD_WITHOUT_QUIC=1 ${IMAGE} bash -euc "git config --global --add safe.directory '*' && make"
95- else
96- docker run --rm -v ${PWD}:/wd -w /wd ${IMAGE} bash -euc "git config --global --add safe.directory '*' && make"
97- fi
98- - if : failure()
99- run : cat rebar3.crashdump
100- - name : Verify that we have working release
101- run : |
102- mkdir test-package
103- cp *.tar.gz test-package/
104- pushd test-package
105- tar xfz ./emqtt-bench*.tar.gz
106- docker network create emqtt-bench
107- docker run -d --name emqx --network emqtt-bench -p 18083:18083 emqx/emqx:latest
108- attempts=10
109- url="http://localhost:18083/status"
110- while ! curl "$url" >/dev/null 2>&1; do
111- if [ $attempts -eq 0 ]; then
112- echo "emqx is not responding on $url"
113- exit 1
114- fi
115- sleep 5
116- attempts=$((attempts-1))
117- done
118- docker run -t --rm -v $(pwd):/emqtt-bench -w /emqtt-bench --network emqtt-bench $IMAGE bash -c 'bin/emqtt_bench pub -c 1 -t bench/%i -s 256 -h emqx --limit 5'
119- popd
120- - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
121- with :
122- name : " emqtt-bench-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ matrix.quic_support }}-${{ matrix.arch }}"
123- path : ./*.tar.gz
86+ # steps:
87+ # - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
88+ # with:
89+ # fetch-depth: 0
90+ # ref: ${{ github.event.inputs.branch_or_tag }}
91+ # - name: build
92+ # run: >-
93+ # if [ "false" == ${{ matrix.quic_support }} ]; then
94+ # docker run --rm -v ${PWD}:/wd -w /wd -e BUILD_WITHOUT_QUIC=1 ${IMAGE} bash -euc "git config --global --add safe.directory '*' && make"
95+ # else
96+ # docker run --rm -v ${PWD}:/wd -w /wd ${IMAGE} bash -euc "git config --global --add safe.directory '*' && make"
97+ # fi
98+ # - if: failure()
99+ # run: cat rebar3.crashdump
100+ # - name: Verify that we have working release
101+ # run: |
102+ # mkdir test-package
103+ # cp *.tar.gz test-package/
104+ # pushd test-package
105+ # tar xfz ./emqtt-bench*.tar.gz
106+ # docker network create emqtt-bench
107+ # docker run -d --name emqx --network emqtt-bench -p 18083:18083 emqx/emqx:latest
108+ # attempts=10
109+ # url="http://localhost:18083/status"
110+ # while ! curl "$url" >/dev/null 2>&1; do
111+ # if [ $attempts -eq 0 ]; then
112+ # echo "emqx is not responding on $url"
113+ # exit 1
114+ # fi
115+ # sleep 5
116+ # attempts=$((attempts-1))
117+ # done
118+ # docker run -t --rm -v $(pwd):/emqtt-bench -w /emqtt-bench --network emqtt-bench $IMAGE bash -c 'bin/emqtt_bench pub -c 1 -t bench/%i -s 256 -h emqx --limit 5'
119+ # popd
120+ # - uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
121+ # with:
122+ # name: "emqtt-bench-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ matrix.quic_support }}-${{ matrix.arch }}"
123+ # path: ./*.tar.gz
124124
125125 mac :
126126 strategy :
127127 fail-fast : false
128128 matrix :
129- macos :
129+ os :
130130 - macos-14
131131 - macos-15
132132 otp :
133133 - 27
134134
135- runs-on : ${{ matrix.macos }}
135+ runs-on : ${{ matrix.os }}
136136
137137 steps :
138138 - uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
@@ -147,28 +147,14 @@ jobs:
147147 echo "/usr/local/bin" >> $GITHUB_PATH
148148 echo "$(brew --prefix erlang@$OTP)/bin" >> $GITHUB_PATH
149149 git config --global credential.helper store
150- - name : build macos-14
151- if : matrix.os == 'macos-14'
152- env :
153- APPLE_ID : ${{ secrets.APPLE_ID }}
154- APPLE_TEAM_ID : ${{ secrets.APPLE_TEAM_ID }}
155- APPLE_ID_PASSWORD : ${{ secrets.APPLE_ID_PASSWORD }}
156- APPLE_DEVELOPER_IDENTITY : ${{ secrets.APPLE_DEVELOPER_IDENTITY }}
157- APPLE_DEVELOPER_ID_BUNDLE : ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE }}
158- APPLE_DEVELOPER_ID_BUNDLE_PASSWORD : ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD }}
159- BUILD_WITHOUT_QUIC : 1
160- run : |
161- erl -eval 'erlang:display(erlang:system_info(system_version)),halt()'
162- make
163- - name : build macos-15
164- if : matrix.os == 'macos-15'
150+ - name : build
165151 env :
166152 APPLE_ID : ${{ secrets.APPLE_ID }}
167153 APPLE_TEAM_ID : ${{ secrets.APPLE_TEAM_ID }}
168154 APPLE_ID_PASSWORD : ${{ secrets.APPLE_ID_PASSWORD }}
169155 APPLE_DEVELOPER_IDENTITY : ${{ secrets.APPLE_DEVELOPER_IDENTITY }}
170- APPLE_DEVELOPER_ID_BUNDLE : ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_NEW }}
171- APPLE_DEVELOPER_ID_BUNDLE_PASSWORD : ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD_NEW }}
156+ APPLE_DEVELOPER_ID_BUNDLE : ${{ matrix.os == 'macos-14' && secrets.APPLE_DEVELOPER_ID_BUNDLE || secrets.APPLE_DEVELOPER_ID_BUNDLE_NEW }}
157+ APPLE_DEVELOPER_ID_BUNDLE_PASSWORD : ${{ matrix.os == 'macos-14' && secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD || secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD_NEW }}
172158 BUILD_WITHOUT_QUIC : 1
173159 run : |
174160 erl -eval 'erlang:display(erlang:system_info(system_version)),halt()'
@@ -185,47 +171,47 @@ jobs:
185171 bin/emqtt_bench
186172 - uses : actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0
187173 with :
188- name : " emqtt-bench-${{ matrix.otp }}-${{ matrix.macos }}"
174+ name : " emqtt-bench-${{ matrix.otp }}-${{ matrix.os }}"
189175 path : ./*.zip
190176
191- release :
192- runs-on : ubuntu-latest
193- needs :
194- - linux
195- - mac
196- if : github.event_name == 'push' || inputs.publish_release_artifacts
177+ # release:
178+ # runs-on: ubuntu-latest
179+ # needs:
180+ # - linux
181+ # - mac
182+ # if: github.event_name == 'push' || inputs.publish_release_artifacts
197183
198- steps :
199- - uses : actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
200- with :
201- pattern : " emqtt-bench-*"
202- path : packages
203- merge-multiple : true
204- - name : Create Release
205- uses : softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5
206- with :
207- name : Emqtt Bench ${{ github.ref_name }} Released
208- body : Emqtt Bench ${{ github.ref_name }} Released
209- files : packages/*
210- draft : false
211- prerelease : false
212- - uses : aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1
213- with :
214- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
215- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
216- aws-region : ${{ secrets.AWS_DEFAULT_REGION }}
217- - name : upload to aws s3
218- run : |
219- set -euo pipefail
220- aws s3 cp --recursive packages s3://${{ secrets.AWS_S3_BUCKET }}/emqtt-bench/${{ github.ref_name }}
221- aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_ID }} --paths "/emqtt-bench/${{ github.ref_name }}/*"
222- - name : update to emqx.io
223- run : |
224- set -eux
225- curl -w %{http_code} \
226- --insecure \
227- -H "Content-Type: application/json" \
228- -H "token: ${{ secrets.EMQX_IO_TOKEN }}" \
229- -X POST \
230- -d "{\"repo\":\"emqx/emqtt-bench\", \"tag\": \"${{ github.ref_name }}\" }" \
231- ${{ secrets.EMQX_IO_RELEASE_API }}
184+ # steps:
185+ # - uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
186+ # with:
187+ # pattern: "emqtt-bench-*"
188+ # path: packages
189+ # merge-multiple: true
190+ # - name: Create Release
191+ # uses: softprops/action-gh-release@69320dbe05506a9a39fc8ae11030b214ec2d1f87 # v2.0.5
192+ # with:
193+ # name: Emqtt Bench ${{ github.ref_name }} Released
194+ # body: Emqtt Bench ${{ github.ref_name }} Released
195+ # files: packages/*
196+ # draft: false
197+ # prerelease: false
198+ # - uses: aws-actions/configure-aws-credentials@010d0da01d0b5a38af31e9c3470dbfdabdecca3a # v4.0.1
199+ # with:
200+ # aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
201+ # aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
202+ # aws-region: ${{ secrets.AWS_DEFAULT_REGION }}
203+ # - name: upload to aws s3
204+ # run: |
205+ # set -euo pipefail
206+ # aws s3 cp --recursive packages s3://${{ secrets.AWS_S3_BUCKET }}/emqtt-bench/${{ github.ref_name }}
207+ # aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_ID }} --paths "/emqtt-bench/${{ github.ref_name }}/*"
208+ # - name: update to emqx.io
209+ # run: |
210+ # set -eux
211+ # curl -w %{http_code} \
212+ # --insecure \
213+ # -H "Content-Type: application/json" \
214+ # -H "token: ${{ secrets.EMQX_IO_TOKEN }}" \
215+ # -X POST \
216+ # -d "{\"repo\":\"emqx/emqtt-bench\", \"tag\": \"${{ github.ref_name }}\" }" \
217+ # ${{ secrets.EMQX_IO_RELEASE_API }}
0 commit comments