name: no-std build on: push: branches: - develop paths: - "common/**" - "crypto/**" - "networks/**" - "tests/no-std/**" pull_request: paths: - "common/**" - "crypto/**" - "networks/**" - "tests/no-std/**" workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # 6.0.0 - name: Install Build Dependencies uses: ./.github/actions/build-dependencies - name: Get nightly version to use id: nightly shell: bash run: echo "version=$(cat .github/nightly-version)" >> $GITHUB_OUTPUT - name: Install RISC-V Toolchain run: | sudo apt update sudo apt install -y gcc-riscv64-unknown-elf gcc-multilib rustup toolchain install ${{ steps.nightly.outputs.version }} --profile minimal --component rust-src --target riscv32imac-unknown-none-elf - name: Verify no-std builds run: | CFLAGS=-I/usr/include cargo +${{ steps.nightly.outputs.version }} build --target riscv32imac-unknown-none-elf -Z build-std=core -p serai-no-std-tests CFLAGS=-I/usr/include cargo +${{ steps.nightly.outputs.version }} build --target riscv32imac-unknown-none-elf -Z build-std=core,alloc -p serai-no-std-tests --features "alloc"