name: Build slim packages concurrency: group: slim-${{ github.event_name }}-${{ github.ref }} cancel-in-progress: true on: workflow_call: workflow_dispatch: inputs: ref: required: false permissions: contents: read jobs: linux: runs-on: ${{ github.repository_owner == 'emqx' && fromJSON(format('["self-hosted","ephemeral","linux","{0}"]', matrix.profile[2])) || 'ubuntu-22.04' }} env: PROFILE: ${{ matrix.profile[0] }} ELIXIR: ${{ matrix.profile[1] == 'elixir' && 'yes' || 'no' }} ARCH: ${{ matrix.profile[2] == 'x64' && 'amd64' || 'arm64' }} BUILDER_SYSTEM: force_docker strategy: fail-fast: false matrix: profile: - ["emqx", "elixir", "x64"] - ["emqx", "elixir", "arm64"] - ["emqx-enterprise", "erlang", "x64"] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - name: build tgz run: | ./scripts/buildx.sh --profile $PROFILE --pkgtype tgz --elixir $ELIXIR --arch $ARCH - name: build pkg run: | ./scripts/buildx.sh --profile $PROFILE --pkgtype pkg --elixir $ELIXIR --arch $ARCH - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 with: name: "${{ matrix.profile[0] }}-${{ matrix.profile[1] }}-${{ matrix.profile[2] }}" path: _packages/${{ matrix.profile[0] }}/* retention-days: 7 compression-level: 0 - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 with: name: "${{ matrix.profile[0] }}-schema-dump-${{ matrix.profile[1] }}-${{ matrix.profile[2] }}" path: | scripts/spellcheck _build/docgen/${{ matrix.profile[0] }}/schema-en.json retention-days: 7 mac: strategy: fail-fast: false matrix: profile: - emqx os: - macos-14-arm64 runs-on: ${{ matrix.os }} env: EMQX_NAME: ${{ matrix.profile }} steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Set up environment id: env run: | source env.sh echo "OTP_VSN=$OTP_VSN" >> "$GITHUB_OUTPUT" - uses: ./.github/actions/package-macos with: profile: ${{ matrix.profile }} otp: ${{ steps.env.outputs.OTP_VSN }} os: ${{ matrix.os }} 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 }} - uses: actions/upload-artifact@89ef406dd8d7e03cfd12d9e0a4a378f454709029 # v4.3.5 with: name: ${{ matrix.os }} path: _packages/**/* retention-days: 7