Skip to content

🛠️ Bump docker/build-push-action from 4 to 5 #1224

🛠️ Bump docker/build-push-action from 4 to 5

🛠️ Bump docker/build-push-action from 4 to 5 #1224

name: Test Integration
on:
push:
branches: [master]
paths-ignore:
- "**.md"
pull_request:
branches: [master]
paths-ignore:
- "**.md"
env:
COMPOSE_DOCKER_CLI_BUILD: 1
DOCKER_BUILDKIT: 1
jobs:
test_integration:
runs-on: ubuntu-20.04
timeout-minutes: 60
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
steps:
- name: Maximize build space
run: |
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo apt remove -y azure-cli google-cloud-sdk microsoft-edge-stable dotnet-sdk-* temurin-* google-chrome-stable firefox hhvm llvm-* powershell mysql-* mongodb-mongosh
df -h
- uses: actions/checkout@v4
with:
lfs: true
submodules: recursive
# Ensure that the filesystem permissions are consistent across all umasks, all git checkouts:
- name: Set filesystems permissions
run: |
chmod -R g+w .
- name: Docker Login
uses: docker/[email protected]
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build robot
run: |
docker system prune -af
docker buildx build --cache-from utrarobosoccer/soccerbot:no_cuda --build-arg INSTALL_CUDA=false --tag utrarobosoccer/soccerbot --load .
docker builder prune -a
docker image ls
- name: Build webots
run: |
docker compose build simulator
docker builder prune -a
docker image ls
- name: Walking Integration Test
timeout-minutes: 10
run: |
docker compose -f docker-compose.test.yaml up --no-build --exit-code-from friendly
- name: Get integration test logs
if: always()
run: |
docker compose logs
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/textures/ soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/bouncing_log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.html soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.json soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.x3d soccerbot/bags || echo "Unable to find logs"
- name: Get rosbag
if: always()
uses: actions/upload-artifact@v3
with:
name: RosbagsWalking
path: soccerbot/bags
- name: Kick Integration Test
timeout-minutes: 10
run: |
docker compose -f docker-compose.test.kick.yaml up --exit-code-from friendly
- name: Get integration test logs
if: always()
run: |
docker compose logs
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/textures/ soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/bouncing_log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.html soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.json soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.x3d soccerbot/bags || echo "Unable to find logs"
- name: Get rosbag
if: always()
uses: actions/upload-artifact@v3
with:
name: RosbagsKick
path: soccerbot/bags
- name: Kick and Walk Integration Test
timeout-minutes: 15
env:
ROBOT_X: 3.5
TEST_NAME: test_walk_and_kick_right
run: |
docker compose -f docker-compose.test.kick.yaml up --exit-code-from friendly
- name: Get integration test logs
if: always()
run: |
docker compose logs
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/textures/ soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/bouncing_log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/log.txt soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.html soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.json soccerbot/bags || echo "Unable to find logs"
docker cp soccerbot_simulator_1:/usr/local/webots/projects/samples/contests/robocup/controllers/referee/recording.x3d soccerbot/bags || echo "Unable to find logs"
- name: Get rosbag
if: always()
uses: actions/upload-artifact@v3
with:
name: RosbagsWalkAndKick
path: soccerbot/bags
- name: Setup tmate session
timeout-minutes: 15
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3