| #!/bin/bash |
| # Copyright lowRISC contributors. |
| # Licensed under the Apache License, Version 2.0, see LICENSE for details. |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| set -x |
| set -e |
| |
| . util/build_consts.sh |
| |
| SHA=$(git rev-parse HEAD) |
| readonly SHA |
| |
| # Copy bitstreams and related files into the cache directory so Bazel will have |
| # the corresponding targets in the @bitstreams workspace. |
| # |
| # TODO(#13807) Update this when we change the naming scheme. |
| readonly BIT_CACHE_DIR="${HOME}/.cache/opentitan-bitstreams/cache/${SHA}" |
| readonly BIT_SRC_DIR="${BIN_DIR}/hw/top_earlgrey" |
| readonly BIT_NAME_PREFIX="lowrisc_systems_chip_earlgrey_cw310_0.1.bit" |
| mkdir -p "${BIT_CACHE_DIR}" |
| cp "${BIT_SRC_DIR}/${BIT_NAME_PREFIX}.orig" \ |
| "${BIT_SRC_DIR}/${BIT_NAME_PREFIX}.splice" \ |
| "${BIT_SRC_DIR}/otp.mmi" \ |
| "${BIT_SRC_DIR}/rom.mmi" \ |
| "${BIT_CACHE_DIR}" |
| |
| echo -n "$SHA" > "${BIT_CACHE_DIR}/../../latest.txt" |
| export BITSTREAM="--offline --list ${SHA}" |
| |
| # We will lose serial access when we reboot, but if tests fail we should reboot |
| # in case we've crashed the UART handler on the CW310's SAM3U |
| trap 'python3 ./util/fpga/cw310_reboot.py' EXIT |
| |
| ./bazelisk.sh query 'rdeps(//..., @bitstreams//...)' | |
| xargs ci/bazelisk.sh test \ |
| --define DISABLE_VERILATOR_BUILD=true \ |
| --nokeep_going \ |
| --test_tag_filters=cw310,-broken,-manual \ |
| --test_timeout_filters=short,moderate \ |
| --test_output=all \ |
| --build_tests_only \ |
| --define cw310=lowrisc \ |
| --flaky_test_attempts=2 |