Skip to content

Draw Virtual Obstacles #5868

Draw Virtual Obstacles

Draw Virtual Obstacles #5868

Workflow file for this run

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_*