From 69175acb3a1ec282d19e04cb0846dfb2d6a9d17c Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Wed, 14 Feb 2024 18:07:58 -0300 Subject: [PATCH 1/9] chore(ci) use old actions/checkout when running on older containers CentOS 7 and Ubuntu 18.04 need actions/checkout@v3 due to a binary incompatibility with Node 20. See: https://github.com/actions/checkout/issues/1590 --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c5343de32..667639cdb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -174,7 +174,7 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.TOKEN_GITHUB }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Build binary run: ./util/release.sh ${{ needs.setup.outputs.release_name }} --bin env: @@ -310,7 +310,7 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.TOKEN_GITHUB }} steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v3 - name: Build binary run: ./util/release.sh ${{ needs.setup.outputs.release_name }} --bin env: From bc789f8a899f08ddac0d9c2fa201c8e2da302409 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Mon, 29 Jan 2024 17:30:59 -0300 Subject: [PATCH 2/9] chore(deps) use GCC 11 on Centos 8 and Ubuntu 18.04 More recent versions of V8 don't build with GCC 8. --- .github/workflows/release.yml | 1 + .../Dockerfiles/Dockerfile.amd64.centos8 | 6 ++++-- .../Dockerfiles/Dockerfile.amd64.ubuntu-18.04 | 5 +++-- util/release.sh | 21 +++++++++++++------ 4 files changed, 23 insertions(+), 10 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 667639cdb..4bee5dc47 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -336,6 +336,7 @@ jobs: WASMTIME_VER: ${{ needs.setup.outputs.wasmtime_ver }} WASMER_VER: ${{ needs.setup.outputs.wasmer_ver }} V8_VER: ${{ needs.setup.outputs.v8_ver }} + CC: gcc container: image: ghcr.io/kong/wasmx-build-centos:8 credentials: diff --git a/assets/release/Dockerfiles/Dockerfile.amd64.centos8 b/assets/release/Dockerfiles/Dockerfile.amd64.centos8 index 9f374b4dc..606c5c248 100644 --- a/assets/release/Dockerfiles/Dockerfile.amd64.centos8 +++ b/assets/release/Dockerfiles/Dockerfile.amd64.centos8 @@ -5,12 +5,14 @@ RUN sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-Linux-* && \ sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-Linux-* && \ dnf update -y && \ dnf --enablerepo=powertools install -y \ + scl-utils \ + gcc-toolset-11 \ + gcc-toolset-11-gcc-c++ \ + gcc-toolset-11-libatomic-devel \ ninja-build \ clang \ cmake \ make \ - gcc \ - libstdc++-devel \ libatomic \ perl \ python39 \ diff --git a/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 b/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 index cc51dc32c..b1cb3e741 100644 --- a/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 +++ b/assets/release/Dockerfiles/Dockerfile.amd64.ubuntu-18.04 @@ -7,6 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository -y ppa:deadsnakes/ppa && \ + add-apt-repository -y ppa:ubuntu-toolchain-r/test && \ apt-get update && \ apt-get install -y python3.8 && \ ln -nfs $(which python3.8) /usr/bin/python3 @@ -16,8 +17,8 @@ RUN apt-get update && \ ca-certificates \ build-essential \ ninja-build \ - gcc-8 \ - libstdc++-8-dev \ + gcc-11 \ + libstdc++-11-dev \ git \ pkg-config \ libglib2.0-dev \ diff --git a/util/release.sh b/util/release.sh index 3c31b76c2..ff131537d 100755 --- a/util/release.sh +++ b/util/release.sh @@ -376,12 +376,21 @@ release_bin() { notice "Building $arch binary..." - if [ "$(get_distro)" = "centos7" ]; then - notice "Enabling devtoolset-11 for CentOS..." - source /opt/rh/devtoolset-11/enable - gcc --version - export CC=gcc - fi + case "$(get_distro)" in + centos7) + notice "Enabling devtoolset-11 for CentOS 7..." + source /opt/rh/devtoolset-11/enable + gcc --version + export CC=gcc + ;; + + centos8) + notice "Enabling gcc-toolset-11 for CentOS 8..." + source scl_source enable gcc-toolset-11 + gcc --version + export CC=gcc + ;; + esac if [ -n "$WASMTIME_VER" ]; then build_with_runtime wasmtime $WASMTIME_VER $arch "libwasmtime.a" From dcde68a886b4b00d9b427e892e746ae87bf34952 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 30 Jan 2024 18:28:24 -0300 Subject: [PATCH 3/9] chore(v8) only build v8bridge with clang when libwee8 uses clang --- util/runtimes/v8.sh | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/util/runtimes/v8.sh b/util/runtimes/v8.sh index f8c4adea5..5196d5443 100755 --- a/util/runtimes/v8.sh +++ b/util/runtimes/v8.sh @@ -218,16 +218,20 @@ build_v8bridge() { make -C "$NGX_WASM_DIR/lib/v8bridge" clean fi - # Use the same V8 clang toolchain to build v8bridge - C++ ABI compatibility - local v8_cxx="$DIR_LIBWEE8/repos/v8/third_party/llvm-build/Release+Asserts/bin/clang" + local v8_cxx="$CC" - if [[ "$(uname -s)" = "Darwin" ]]; then - # On macOS builds, use the system-provided clang to avoid header issues - v8_cxx="clang" + if [ "$v8_cxx" = "clang" ]; then + # Use the same V8 clang toolchain to build v8bridge - C++ ABI compatibility + v8_cxx="$DIR_LIBWEE8/repos/v8/third_party/llvm-build/Release+Asserts/bin/clang" - elif [[ "$(uname -m)" = "aarch64" ]]; then - # V8 clang is built for x86_64; if running on arm64 defaults to gcc - v8_cxx="gcc" + if [[ "$(uname -s)" = "Darwin" ]]; then + # On macOS builds, use the system-provided clang to avoid header issues + v8_cxx="clang" + + elif [[ "$(uname -m)" = "aarch64" ]]; then + # V8 clang is built for x86_64; if running on arm64 defaults to gcc + v8_cxx="gcc" + fi fi make -C "$NGX_WASM_DIR/lib/v8bridge" \ From d08d6cb44701f487eaa33c9fa0f01f258744c1ea Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Tue, 30 Jan 2024 18:37:56 -0300 Subject: [PATCH 4/9] chore(deps) do not link libatomic with libwee8 on macOS --- config | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/config b/config index dd13bc15d..c7b6822e3 100644 --- a/config +++ b/config @@ -31,7 +31,11 @@ case $ngx_wasm_runtime_name in ngx_wasm_runtime_srcs="$ngx_addon_dir/src/wasm/wrt/ngx_wrt_v8.c" ngx_wasm_runtime_lib_name="wee8" ngx_wasm_runtime_pre_libs="-lv8bridge" - ngx_wasm_runtime_post_libs="-ldl -lm -lpthread -lstdc++" + ngx_wasm_runtime_post_libs="-ldl -lm -lpthread -lstdc++ -latomic" + + if [ "$NGX_SYSTEM" = "Darwin" ]; then + ngx_wasm_runtime_post_libs="-ldl -lm -lpthread -lstdc++" + fi ngx_wasm_cargo_lib_name=ngx_wasm_rs ngx_wasm_cargo_lib_dir=$ngx_addon_dir/lib/ngx-wasm-rs From 2559cf8e2b38a1cc684fcd117e98a081078f8875 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Wed, 14 Feb 2024 19:43:49 -0300 Subject: [PATCH 5/9] chore(ci) use unique names for release artifacts See: https://github.com/Kong/ngx_wasm_module/pull/506 See: https://github.com/actions/upload-artifact?tab=readme-ov-file#breaking-changeses@v4 See: https://github.com/actions/download-artifact?tab=readme-ov-file#breaking-changes@v4 Co-Authored-By: Caio Ramos Casimiro --- .github/workflows/job-clang-analyzer.yml | 2 +- .github/workflows/job-unit-tests.yml | 2 +- .github/workflows/job-valgrind-tests.yml | 2 +- .github/workflows/release.yml | 34 ++++++++++++------------ 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/.github/workflows/job-clang-analyzer.yml b/.github/workflows/job-clang-analyzer.yml index 08d77fa64..3df52c075 100644 --- a/.github/workflows/job-clang-analyzer.yml +++ b/.github/workflows/job-clang-analyzer.yml @@ -69,5 +69,5 @@ jobs: - uses: actions/upload-artifact@v4 if: ${{ failure() && !env.ACT }} with: - name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }} + name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.ssl }}-${{ inputs.hup }}-${{ inputs.debug }} path: work/scans/* diff --git a/.github/workflows/job-unit-tests.yml b/.github/workflows/job-unit-tests.yml index 20aa42d49..c33c80e4a 100644 --- a/.github/workflows/job-unit-tests.yml +++ b/.github/workflows/job-unit-tests.yml @@ -161,7 +161,7 @@ jobs: - uses: actions/upload-artifact@v4 if: ${{ failure() && !env.ACT }} with: - name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.runtime }} + name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.module_type == 'dynamic' && 'dynamic' || 'static'}}-${{ inputs.ssl }}-${{ inputs.hup }}-${{ inputs.debug }} path: | work/buildroot/ t/servroot* diff --git a/.github/workflows/job-valgrind-tests.yml b/.github/workflows/job-valgrind-tests.yml index 231efc1d0..928ef37a0 100644 --- a/.github/workflows/job-valgrind-tests.yml +++ b/.github/workflows/job-valgrind-tests.yml @@ -143,7 +143,7 @@ jobs: - uses: actions/upload-artifact@v4 if: ${{ failure() && !env.ACT }} with: - name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.runtime }} + name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.hup }} path: | work/buildroot/ t/servroot* diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4bee5dc47..092243caf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -107,7 +107,7 @@ jobs: - name: Upload archive uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} @@ -180,12 +180,12 @@ jobs: env: GITHUB_OAUTH_TOKEN: ${{ secrets.GH_BOT_TOKEN }} - name: Upload binary - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v3 if: failure() with: name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }} @@ -214,7 +214,7 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - uses: actions/upload-artifact@v4 @@ -246,7 +246,7 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - uses: actions/upload-artifact@v4 @@ -286,7 +286,7 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - uses: actions/upload-artifact@v4 @@ -316,12 +316,12 @@ jobs: env: GITHUB_OAUTH_TOKEN: ${{ secrets.GH_BOT_TOKEN }} - name: Upload binary - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v3 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v3 if: failure() with: name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }} @@ -351,7 +351,7 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - uses: actions/upload-artifact@v4 @@ -383,7 +383,7 @@ jobs: - name: Upload binary uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - uses: actions/upload-artifact@v3 @@ -412,12 +412,12 @@ jobs: env: GITHUB_OAUTH_TOKEN: ${{ secrets.GH_BOT_TOKEN }} - name: Upload binary - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: - name: release-artifacts + name: release-artifacts-${{ github.job }} path: dist retention-days: ${{ env.RETENTION_DAYS }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: ${{ github.workflow }}-${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }} @@ -430,9 +430,9 @@ jobs: timeout-minutes: ${{ fromJSON(vars.GHA_DEFAULT_TIMEOUT) }} steps: - name: Retrieve sibling release artifacts - uses: actions/download-artifact@v3 + uses: actions/download-artifact@v4 with: - name: release-artifacts + pattern: release-artifacts-* - name: Drop Wasmer binaries run: find . -name '*wasmer*' | xargs rm -f # Channel: nightly From 03025fba86461abbb16591d6044cfe5b7153005d Mon Sep 17 00:00:00 2001 From: Caio Ramos Casimiro Date: Wed, 14 Feb 2024 22:54:10 +0000 Subject: [PATCH 6/9] chore(ci) bump actions versions * `docker/login-action` to v3 * `docker/setup-qemu-action` to v3 --- .github/actions/setup-httpbin-server/action.yml | 2 +- .github/workflows/release.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-httpbin-server/action.yml b/.github/actions/setup-httpbin-server/action.yml index 88657b9c6..f2210ce39 100644 --- a/.github/actions/setup-httpbin-server/action.yml +++ b/.github/actions/setup-httpbin-server/action.yml @@ -51,7 +51,7 @@ runs: fi - name: Login to GitHub Container Registry if: ${{ steps.setup.outputs.push == 'true' }} - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ inputs.ghcr_username }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 092243caf..3b80552c8 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -140,13 +140,13 @@ jobs: steps: - uses: actions/checkout@v4 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} password: ${{ secrets.TOKEN_GITHUB }} - name: Setup QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: ${{ matrix.name }} @@ -263,9 +263,9 @@ jobs: steps: - uses: actions/checkout@v4 - name: Setup QEMU - uses: docker/setup-qemu-action@v2 + uses: docker/setup-qemu-action@v3 - name: Login to GitHub Container Registry - uses: docker/login-action@v2 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.repository_owner }} From d74a11cab32f8cc08b18dc4f4aa228158b0e85c0 Mon Sep 17 00:00:00 2001 From: Caio Ramos Casimiro Date: Fri, 16 Feb 2024 17:28:41 +0000 Subject: [PATCH 7/9] chore(ci) handle upload-artifact's v3 and v4 during release The action `upload-artifact@v4` can't run on Centos 8 and Ubuntu 18.04 so its `v3` counterpart is used; other build jobs in the release workflow use `upload-artifact@v4`. The action `download-artifact@v4` is only able to download artifacts uploaded by `upload-artifact@v4`. See: https://github.com/actions/download-artifact?tab=readme-ov-file#breaking-changes --- .github/workflows/release.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3b80552c8..9e00d4ebd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -429,10 +429,13 @@ jobs: runs-on: ubuntu-latest timeout-minutes: ${{ fromJSON(vars.GHA_DEFAULT_TIMEOUT) }} steps: + - name: Retrieve sibling release artifacts (legacy upload-artifact) + uses: actions/download-artifact@v3 - name: Retrieve sibling release artifacts uses: actions/download-artifact@v4 with: pattern: release-artifacts-* + merge-multiple: true - name: Drop Wasmer binaries run: find . -name '*wasmer*' | xargs rm -f # Channel: nightly From b960529b6e56b894a1aba1d4d065ccd66890c33c Mon Sep 17 00:00:00 2001 From: Caio Ramos Casimiro Date: Wed, 14 Feb 2024 14:58:21 +0000 Subject: [PATCH 8/9] tmp --- .github/workflows/job-clang-analyzer.yml | 2 +- .github/workflows/job-unit-tests.yml | 4 ++-- .github/workflows/job-valgrind-tests.yml | 4 ++-- .github/workflows/release.yml | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/job-clang-analyzer.yml b/.github/workflows/job-clang-analyzer.yml index 3df52c075..49c28e9fe 100644 --- a/.github/workflows/job-clang-analyzer.yml +++ b/.github/workflows/job-clang-analyzer.yml @@ -67,7 +67,7 @@ jobs: - run: make setup - run: make - uses: actions/upload-artifact@v4 - if: ${{ failure() && !env.ACT }} + # if: ${{ failure() && !env.ACT }} with: name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.ssl }}-${{ inputs.hup }}-${{ inputs.debug }} path: work/scans/* diff --git a/.github/workflows/job-unit-tests.yml b/.github/workflows/job-unit-tests.yml index c33c80e4a..6353da005 100644 --- a/.github/workflows/job-unit-tests.yml +++ b/.github/workflows/job-unit-tests.yml @@ -157,9 +157,9 @@ jobs: files: './lcov.info' flags: unit - run: rm -f t/servroot/html/nginx.sock - if: ${{ failure() && !env.ACT }} + # if: ${{ failure() && !env.ACT }} - uses: actions/upload-artifact@v4 - if: ${{ failure() && !env.ACT }} + # if: ${{ failure() && !env.ACT }} with: name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.module_type == 'dynamic' && 'dynamic' || 'static'}}-${{ inputs.ssl }}-${{ inputs.hup }}-${{ inputs.debug }} path: | diff --git a/.github/workflows/job-valgrind-tests.yml b/.github/workflows/job-valgrind-tests.yml index 928ef37a0..1f619e5cc 100644 --- a/.github/workflows/job-valgrind-tests.yml +++ b/.github/workflows/job-valgrind-tests.yml @@ -139,9 +139,9 @@ jobs: files: './lcov.info' flags: valgrind - run: rm -f t/servroot/html/nginx.sock - if: ${{ failure() && !env.ACT }} + # if: ${{ failure() && !env.ACT }} - uses: actions/upload-artifact@v4 - if: ${{ failure() && !env.ACT }} + # if: ${{ failure() && !env.ACT }} with: name: ${{ github.job }}-sha-${{ github.sha }}-run-${{ github.run_number }}-${{ inputs.ngx != '' && format('nginx-{0}', inputs.ngx) || format('openresty-{0}', inputs.openresty) }}-${{ inputs.runtime }}-${{ inputs.hup }} path: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9e00d4ebd..ee0448387 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -3,8 +3,8 @@ name: Release on: schedule: - cron: "0 6 * * mon" # 6am UTC, 11pm PST - #pull_request: - # branches: '**' + pull_request: + branches: '**' workflow_dispatch: inputs: release_version: From e57d726ed23806f5d78380f71b565ebfd34e281f Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Fri, 16 Feb 2024 20:02:21 -0300 Subject: [PATCH 9/9] [tmp] list all assets to ensure download --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ee0448387..2c40858c1 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -438,6 +438,8 @@ jobs: merge-multiple: true - name: Drop Wasmer binaries run: find . -name '*wasmer*' | xargs rm -f + - name: List all collected assets + run: find . -name '*.tar.gz' # Channel: nightly - name: Nightly release uses: marvinpinto/action-automatic-releases@latest