task:
  name: build-test-ubuntu2004
  container:
    cpu: 5
    memory: 20
    dockerfile: .cirrus/Dockerfile.ubuntu20.04

  submodule_script: git submodule sync --recursive && git submodule update --init --recursive
  build_script: mkdir build && cd build && cmake .. -DARCH='ecp5;generic;gowin;ice40;machxo2;nexus' -DOXIDE_INSTALL_PREFIX=$HOME/.cargo -DBUILD_TESTS=on -DBUILD_GUI=on -DWERROR=on && make -j3
  test_generic_script: cd build && ./nextpnr-generic-test
  flow_test_generic_script: export NPNR=$(pwd)/build/nextpnr-generic && cd tests/generic/flow && ./run.sh
  test_ice40_script: cd build && ./nextpnr-ice40-test
  smoketest_ice40_script: export NEXTPNR=$(pwd)/build/nextpnr-ice40 && cd ice40/smoketest/attosoc && ./smoketest.sh
  test_ecp5_script: cd build && ./nextpnr-ecp5-test
  smoketest_generic_script: export NEXTPNR=$(pwd)/build/nextpnr-generic && cd generic/examples && ./simple.sh && ./simtest.sh
  regressiontest_ice40_script: make -j $(nproc) -C tests/ice40/regressions NPNR=$(pwd)/build/nextpnr-ice40
  regressiontest_ecp5_script: make -j $(nproc) -C tests/ecp5/regressions NPNR=$(pwd)/build/nextpnr-ecp5
  archcheck_script: BUILD_DIR=$(pwd)/build ./.cirrus/archcheck.sh
