feat(quic): quic fine tune #263
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: build | |
on: | |
pull_request: | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: | |
- 26.2.5-1 | |
elixir: | |
- 1.15.7 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 | |
- uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0 | |
- uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0 | |
- uses: docker/metadata-action@dbef88086f6cef02e264edb7dbf63250c17cef6c # v5.5.0 | |
id: meta | |
with: | |
images: ${{ github.repository }} | |
tags: | | |
type=ref,event=pr | |
type=semver,pattern={{version}} | |
type=semver,pattern={{major}}.{{minor}} | |
- uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0 | |
if: startsWith(github.ref, 'refs/tags/') || inputs.publish_release_artifacts | |
with: | |
username: ${{ secrets.DOCKER_HUB_USER }} | |
password: ${{ secrets.DOCKER_HUB_TOKEN }} | |
- uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0 | |
with: | |
context: . | |
platforms: linux/amd64 | |
push: false | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} | |
build-args: | | |
FROM=ghcr.io/emqx/emqx-builder/5.3-7:${{ matrix.elixir }}-${{ matrix.otp }}-debian12 | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
otp: | |
- 26.2.5-1 | |
elixir: | |
- 1.15.7 | |
quic_support: | |
- true | |
- false | |
os: | |
- ubuntu22.04 | |
container: | |
image: ghcr.io/emqx/emqx-builder/5.3-7:${{ matrix.elixir }}-${{ matrix.otp }}-${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 | |
- shell: bash | |
run: | | |
[ "false" == ${{ matrix.quic_support }} ] && export BUILD_WITHOUT_QUIC=1 | |
git config --global --add safe.directory $(pwd) | |
make | |
- if: failure() | |
run: cat rebar3.crashdump | |
- name: test release | |
run: | | |
set -e | |
mkdir test-release | |
cp ./emqtt-bench*.tar.gz test-release | |
cd test-release | |
tar xfz ./emqtt-bench*.tar.gz | |
bin/emqtt_bench | |
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 | |
with: | |
name: "emqtt-bench-${{ matrix.os }}-${{ matrix.otp }}-${{ matrix.elixir }}-${{ matrix.quic_support }}" | |
path: ./*.tar.gz | |
mac: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- macos-14 | |
otp: | |
- 26.2.5-1 | |
runs-on: ${{ matrix.macos }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
fetch-depth: 0 | |
- name: prepare | |
run: | | |
brew install curl zip unzip gnu-sed kerl unixodbc freetds | |
echo "/usr/local/bin" >> $GITHUB_PATH | |
git config --global credential.helper store | |
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 # v4.0.0 | |
id: cache | |
with: | |
path: ~/.kerl | |
key: otp-${{ matrix.otp }}-${{ matrix.macos }} | |
- name: build erlang | |
if: steps.cache.outputs.cache-hit != 'true' | |
timeout-minutes: 60 | |
env: | |
OTP: ${{ matrix.otp }} | |
KERL_CONFIGURE_OPTIONS: '--disable-hipe --disable-jit' | |
run: | | |
set -eux | |
kerl delete build $OTP || true | |
kerl delete installation $OTP || true | |
rm -rf $HOME/.kerl/$OTP | |
kerl build git https://github.com/emqx/otp.git OTP-$OTP $OTP | |
kerl install $OTP $HOME/.kerl/$OTP | |
- name: build | |
env: | |
OTP: ${{ matrix.otp }} | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
APPLE_DEVELOPER_IDENTITY: ${{ secrets.APPLE_DEVELOPER_IDENTITY }} | |
APPLE_DEVELOPER_ID_BUNDLE: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE }} | |
APPLE_DEVELOPER_ID_BUNDLE_PASSWORD: ${{ secrets.APPLE_DEVELOPER_ID_BUNDLE_PASSWORD }} | |
run: | | |
. $HOME/.kerl/$OTP/activate | |
make | |
- if: failure() | |
run: cat rebar3.crashdump | |
- name: test release | |
run: | | |
set -e | |
mkdir test-release | |
cp ./emqtt-bench*.zip test-release | |
cd test-release | |
unzip -q ./emqtt-bench*.zip | |
bin/emqtt_bench | |
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 # v4.3.0 | |
with: | |
name: "emqtt-bench-${{ matrix.macos }}-${{ matrix.otp }}" | |
path: ./*.zip |