diff --git a/.github/workflows/build-substrate.yml b/.github/workflows/build-substrate.yml new file mode 100644 index 0000000000..a26a0a4a3d --- /dev/null +++ b/.github/workflows/build-substrate.yml @@ -0,0 +1,41 @@ +name: Build Substrate Binary + +on: + # Allow it to be manually ran to rebuild binary when needed: + workflow_dispatch: {} + # Run at 2am every day for nightly builds. + schedule: + - cron: "0 2 * * *" + +jobs: + tests: + name: Build Substrate + runs-on: ubuntu-latest-16-cores + steps: + - name: checkout polkadot-sdk + uses: actions/checkout@v4 + with: + repository: paritytech/polkadot-sdk + + - name: Install dependencies + run: sudo apt-get install -y protobuf-compiler + + - name: Install WASM toolchain + run: rustup target add wasm32-unknown-unknown + + - name: Rust Cache + uses: Swatinem/rust-cache@e207df5d269b42b69c8bc5101da26f7d31feddb4 # v2.6.2 + + - name: build substrate binary + uses: actions-rs/cargo@v1 + with: + command: build + args: --release --manifest-path substrate/bin/node/cli/Cargo.toml + + - name: upload substrate binary + uses: actions/upload-artifact@v3 + with: + name: nightly-substrate-binary + path: target/release/substrate-node + retention-days: 2 + if-no-files-found: error \ No newline at end of file