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@3df4ab11eba7bda6032a0b82a6bb43b11571feac

      - name: Install Build Dependencies
        uses: ./.github/actions/build-dependencies

      - name: Install RISC-V Toolchain
        run: sudo apt update && sudo apt install -y gcc-riscv64-unknown-elf gcc-multilib && rustup target add riscv32imac-unknown-none-elf

      - name: Verify no-std builds
        run: CFLAGS=-I/usr/include cargo build --target riscv32imac-unknown-none-elf -p serai-no-std-tests
