diff --git a/.github/workflows/release-assets.yml b/.github/workflows/release-assets.yml new file mode 100644 index 000000000..c87c65c75 --- /dev/null +++ b/.github/workflows/release-assets.yml @@ -0,0 +1,55 @@ +name: Upload Release Asset + +on: + push: + tags: + - 'v*' # "e.g. v0.4" + + workflow_dispatch: + +jobs: + build-and-upload: + strategy: + matrix: + env: + - { NPROC: 2 } + platform: [ubuntu-latest, macos-latest] + runs-on: ${{ matrix.platform }} + env: ${{ matrix.env }} + timeout-minutes: 60 + + name: ${{ matrix.platform }} - ${{ matrix.env.NPROC }} processes + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + # We need to do this because of how github cache works + # I am not sure we can move the cache file, so if we do not do this + # make update breaks because the cached compiler is there where the submodules + # are meant to go. + - name: Submodules + run: | + git submodule update --init --recursive + + - name: Cache nim + uses: actions/cache@v1 + with: + path: vendor/nimbus-build-system/vendor/Nim/bin + key: ${{ runner.os }}-${{ matrix.env.NPROC }}-nim-${{ hashFiles('.gitmodules') }} + + - name: Install dependencies + run: | + make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" V=1 update + make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" LOG_LEVEL=TRACE wakunode1 + make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" LOG_LEVEL=TRACE wakunode2 + make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" LOG_LEVEL=TRACE chat2 + cd build + tar -cvzf nim-waku-${{ matrix.platform }}.tar.gz ./ + + - name: Upload asset + uses: actions/upload-artifact@v2.2.3 + with: + name: nim-waku-bin + path: ./build/nim-waku-${{ matrix.platform }}.tar.gz + if-no-files-found: error