Investigate On-Robot Diagnostics Through a CLI Interface #5824
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tbots CI | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
cancel-in-progress: true | |
jobs: | |
multiplatform-build: | |
strategy: | |
matrix: | |
platform: [ ubuntu-22.04, ubuntu-24.04 ] | |
name: Ubuntu Alternate Builds | |
runs-on: ${{ matrix.platform }} | |
steps: | |
# checks-out the repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v4 | |
- name: Environment Setup | |
run: | | |
"${GITHUB_WORKSPACE}"/environment_setup/setup_software.sh | |
- name: Software Build Test | |
run: | | |
cd src | |
bazel build --show_timestamps --copt=-O3 \ | |
-- //... -//software:unix_full_system \ | |
-//software/simulated_tests/... \ | |
-//software/ai/hl/... \ | |
-//software/field_tests/... \ | |
-//software/embedded/... \ | |
-//cc_toolchain/... | |
- name: Jetson Nano Build Test | |
run: | | |
cd src | |
bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO --platforms=//cc_toolchain:robot | |
- name: Raspberry Pi Build Test | |
run: | | |
cd src | |
bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI --platforms=//cc_toolchain:robot | |
software-tests: | |
name: Software Tests | |
runs-on: ubuntu-20.04 | |
steps: | |
# checks-out the repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v4 | |
- name: Environment Setup | |
run: | | |
"${GITHUB_WORKSPACE}"/environment_setup/setup_software.sh | |
- name: Software Test | |
run: | | |
cd src | |
bazel test --copt=-O3 --show_timestamps \ | |
-- //... -//software:unix_full_system \ | |
-//software/simulated_tests/... \ | |
-//software/ai/hl/... \ | |
-//software/field_tests/... \ | |
-//software/ai/navigator/... \ | |
-//cc_toolchain/... | |
robot-tests: | |
name: Robot Software Tests | |
runs-on: ubuntu-20.04 | |
steps: | |
# checks-out the repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v4 | |
- name: Environment Setup | |
run: | | |
"${GITHUB_WORKSPACE}"/environment_setup/setup_software.sh | |
- name: Install and start redis server | |
run: | | |
wget http://download.redis.io/redis-stable.tar.gz | |
tar xvzf redis-stable.tar.gz >/dev/null | |
cd redis-stable | |
make >/dev/null | |
make install >/dev/null | |
redis-server --daemonize yes | |
- name: Stop redis server | |
run: | | |
redis-cli shutdown | |
- name: Jetson Nano Build | |
run: | | |
cd src | |
bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=NANO --platforms=//cc_toolchain:robot | |
- name: Raspberry Pi Build | |
run: | | |
cd src | |
bazel build //software/embedded:thunderloop_main --copt=-O3 --//software/embedded:host_platform=PI --platforms=//cc_toolchain:robot | |
simulated-gameplay-tests: | |
name: Simulated Gameplay Tests | |
runs-on: ubuntu-20.04 | |
steps: | |
# checks-out the repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v4 | |
- name: Environment Setup | |
run: | | |
"${GITHUB_WORKSPACE}"/environment_setup/setup_software.sh | |
- name: Simulated Test Run | |
run: | | |
cd src | |
bazel test --copt=-O3 --flaky_test_attempts=3 --show_timestamps \ | |
//software:unix_full_system \ | |
//software/simulated_tests/... \ | |
//software/ai/hl/... \ | |
//software/ai/navigator/... | |
- name: Upload simulated test proto logs | |
# Ensure that simulated test logs get uploaded | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: blue-sim-test-proto-logs | |
path: | | |
/tmp/tbots/blue/test/*/proto_* | |
- name: Upload simulated test proto logs | |
# Ensure that simulated test logs get uploaded | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: yellow-sim-test-proto-logs | |
path: | | |
/tmp/tbots/yellow/test/*/proto_* | |
autorefd-game: | |
name: AutoRef'd Game (3 Minutes) | |
runs-on: ubuntu-20.04 | |
steps: | |
# checks-out the repository under $GITHUB_WORKSPACE | |
- uses: actions/checkout@v4 | |
- name: Environment Setup | |
run: | | |
"${GITHUB_WORKSPACE}"/environment_setup/setup_software.sh | |
- name: AI vs AI (3 minutes) | |
run: | | |
cd src | |
bazel run --run_under="xvfb-run" //software/thunderscope:thunderscope_main --copt=-O3 -- --enable_autoref --ci_mode | |
- name: Upload AI vs AI logs | |
# Ensure that simulated test logs get uploaded | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: blue-ai-vs-ai-proto-logs | |
path: | | |
/tmp/tbots/blue/proto_* | |
- name: Upload AI vs AI logs | |
# Ensure that simulated test logs get uploaded | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: yellow-ai-vs-ai-proto-logs | |
path: | | |
/tmp/tbots/yellow/proto_* |