Skip to content

fix: oom

fix: oom #275

Workflow file for this run

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