name: Nightly build on: schedule: - cron: "0 0 * * *" workflow_dispatch: jobs: linux: name: Linux build runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Update git submodules run: git submodule update --init --recursive - name: cargo build run: | cargo build --release --workspace --exclude rln-wasm mkdir release cp target/release/librln* release/ tar -czvf linux-rln.tar.gz release/ - name: Upload archive artifact uses: actions/upload-artifact@v2 with: name: linux-archive path: linux-rln.tar.gz retention-days: 2 macos: name: MacOS build runs-on: macos-latest steps: - name: Checkout sources uses: actions/checkout@v2 with: ref: master - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - name: Update git submodules run: git submodule update --init --recursive - name: cargo build run: | cargo build --release --workspace --exclude rln-wasm mkdir release cp target/release/librln* release/ tar -czvf macos-rln.tar.gz release/ - name: Upload archive artifact uses: actions/upload-artifact@v2 with: name: macos-archive path: macos-rln.tar.gz retention-days: 2 browser-rln-wasm: name: Browser build (RLN WASM) runs-on: ubuntu-latest steps: - name: Checkout sources uses: actions/checkout@v2 with: ref: master - name: Install stable toolchain uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: stable override: true - run: git submodule update --init --recursive - name: Install wasm-pack uses: jetli/wasm-pack-action@v0.3.0 - name: Install cargo-make run: cargo install cargo-make - name: cargo make build run: | cargo make build mkdir release cp pkg/** release/ tar -czvf browser-rln-wasm.tar.gz release/ working-directory: rln-wasm - name: Upload archive artifact uses: actions/upload-artifact@v2 with: name: browser-rln-wasm-archive path: rln-wasm/browser-rln-wasm.tar.gz retention-days: 2 prepare-prerelease: name: Prepare pre-release needs: [linux, macos, browser-rln-wasm] runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v2 with: ref: master - name: Download artifacts uses: actions/download-artifact@v2 - name: Delete tag uses: dev-drprasad/delete-tag-and-release@v0.2.0 with: delete_release: true tag_name: nightly env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Create prerelease run: | start_tag=$(gh release list -L 2 --exclude-drafts | grep -v nightly | cut -d$'\t' -f3) gh release create nightly --prerelease --target master \ --title 'Nightly build ("master" branch)' \ --generate-notes \ --notes-start-tag $start_tag \ linux-archive/linux-rln.tar.gz \ macos-archive/macos-rln.tar.gz \ browser-rln-wasm-archive/browser-rln-wasm.tar.gz env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Delete artifacts uses: geekyeggo/delete-artifact@v1 with: failOnError: false name: | linux-archive macos-archive browser-rln-wasm-archive