name: build & test on: [push] jobs: ubuntu-build-icebreaker-r31: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R31 BOARD=icebreaker CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icebreaker-r31.bin path: gateware/build/icebreaker/top.bin ubuntu-build-icebreaker-r33: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=icebreaker CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icebreaker-r33.bin path: gateware/build/icebreaker/top.bin ubuntu-build-icesugar-r33: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=icesugar CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icesugar.bin path: gateware/build/icesugar/top.bin ubuntu-build-icebreaker-r33-touch: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=icebreaker CORE=touch_cv TOUCH=TOUCH_SENSE_ENABLED -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icebreaker-r33-touch.bin path: gateware/build/icebreaker/top.bin ubuntu-build-icebreaker-r35: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R35 BOARD=icebreaker CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icebreaker-r35.bin path: gateware/build/icebreaker/top.bin ubuntu-build-icebreaker-r35-touch: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R35 BOARD=icebreaker CORE=touch_cv TOUCH=TOUCH_SENSE_ENABLED -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-icebreaker-r35-touch.bin path: gateware/build/icebreaker/top.bin windows-build-icebreaker: runs-on: windows-latest defaults: run: shell: msys2 {0} steps: - uses: msys2/setup-msys2@v2 with: install: >- git make - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: | export PATH=$PATH:$RUNNER_TEMP/oss-cad-suite/bin export PATH=$PATH:$RUNNER_TEMP/oss-cad-suite/lib yosys --version make HW_REV=HW_R33 BOARD=icebreaker CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: windows-build-icebreaker.bin path: gateware/build/icebreaker/top.bin macos-build-icebreaker: runs-on: macos-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: | yosys --version make HW_REV=HW_R33 BOARD=icebreaker CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: macos-build-icebreaker.bin path: gateware/build/icebreaker/top.bin ubuntu-build-colorlight-i5: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=colorlight_i5 CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-colorlight-i5.bin path: gateware/build/colorlight_i5/top.bin ubuntu-build-colorlight-i9: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=colorlight_i9 CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-colorlight-i9.bin path: gateware/build/colorlight_i9/top.bin ubuntu-build-ecpix-5: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=ecpix5 CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-ecpix-5.bin path: gateware/build/ecpix5/top.bin ubuntu-build-pico-ice: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: yosys --version - run: make HW_REV=HW_R33 BOARD=pico_ice CORE=mirror -C gateware - uses: actions/upload-artifact@v4 with: name: ubuntu-build-pico-ice.bin path: gateware/build/pico_ice/top.bin run-tests: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: cocotb-config --version - run: cd gateware/sim && ./00_run.sh run-linter: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: YosysHQ/setup-oss-cad-suite@v3 - run: git submodule update --init gateware/external/no2misc - run: verilator --version - run: cd gateware && scripts/verilator_lint.sh