mirror of https://github.com/vacp2p/zerokit.git
142 lines
3.9 KiB
YAML
142 lines
3.9 KiB
YAML
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
|