Skip to content

Commit

Permalink
adjusted workflows for arm32, arm64, and x64
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexanderBarbie committed Jun 19, 2024
1 parent f15b665 commit 9c0e578
Show file tree
Hide file tree
Showing 15 changed files with 373 additions and 72 deletions.
26 changes: 21 additions & 5 deletions .github/workflows/build-arm32v7.yml
Original file line number Diff line number Diff line change
@@ -1,28 +1,44 @@
name: PiCar-X Main Build

on: [push, pull_request]
on: [pull_request]

jobs:
build:
runs-on: [self-hosted, Linux, ARM32]
runs-on: [self-hosted, Linux, ARM]

steps:
- uses: actions/checkout@v2

- name: Build with Docker Compose
- name: build core container
working-directory: ./PiCar-X
run: |
TAG=latest-arm32v7 ARCH=arm32v7 docker compose -f docker-compose-core.yml build --no-cache
TAG=latest-arm32v7 docker compose -f docker-compose-dtp-no-gazebo.yml build --no-cache
- name: build dtp containers without gazebo
working-directory: ./PiCar-X
run: |
TAG=latest-arm32v7 ARCH=arm32v7 docker compose -f docker-compose-dtp-no-gazebo.yml build --no-cache
unit-tests:
runs-on: [self-hosted, Linux, ARM]
steps:
- uses: actions/checkout@v2
- name: Run pytest in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name picarx-unittest abarbie/picarx:latest-arm32v7 pytest ./src/core/picarx/tests
integration-tests:
runs-on: [self-hosted, Linux, ARM]
steps:
- uses: actions/checkout@v2
- name: Start roslaunch in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name dcmotor-integration-test -v /sys/class/gpio:/sys/class/gpio -v /dev/i2c-11:/dev/i2c-11 --privileged abarbie/picarx-dcmotor-driver:1.0.0-arm32v7 rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-11
docker run --rm --name dcmotor-integration-test -v /sys/class/gpio:/sys/class/gpio -v /dev/i2c-11:/dev/i2c-11 --privileged abarbie/picarx-dcmotor-driver:latest-arm32v7 rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-11
release:
runs-on: [self-hosted, Linux, ARM]
- name: Push to Docker Hub
working-directory: ./PiCar-X
run: |
Expand Down
24 changes: 20 additions & 4 deletions .github/workflows/build-arm64v8.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: PiCar-X Main Build

on: [push, pull_request]
on: [pull_request]

jobs:
build:
Expand All @@ -9,20 +9,36 @@ jobs:
steps:
- uses: actions/checkout@v2

- name: Build with Docker Compose
- name: build core container
working-directory: ./PiCar-X
run: |
TAG=latest-arm64v8 ARCH=arm64v8 docker compose -f docker-compose-core.yml build --no-cache
TAG=latest-arm64v8 docker compose -f docker-compose-dtp-no-gazebo.yml build --no-cache
- name: build dtp containers without gazebo
working-directory: ./PiCar-X
run: |
TAG=latest-arm64v8 ARCH=arm64v8 docker compose -f docker-compose-dtp-no-gazebo.yml build --no-cache
unit-tests:
runs-on: [self-hosted, Linux, ARM64]
steps:
- uses: actions/checkout@v2
- name: Run pytest in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name picarx-unittest abarbie/picarx:latest-arm64v8 pytest ./src/core/picarx/tests
integration-tests:
runs-on: [self-hosted, Linux, ARM64]
steps:
- uses: actions/checkout@v2
- name: Start roslaunch in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name dcmotor-integration-test -v /sys/class/gpio:/sys/class/gpio -v /dev/i2c-11:/dev/i2c-11 --privileged abarbie/picarx-dcmotor-driver:1.0.0-arm64v8 rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-11
docker run --rm --name dcmotor-integration-test -v /sys/class/gpio:/sys/class/gpio -v /dev/i2c-11:/dev/i2c-11 --privileged abarbie/picarx-dcmotor-driver:latest-arm64v8 rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-11
release:
runs-on: [self-hosted, Linux, ARM64]
- name: Push to Docker Hub
working-directory: ./PiCar-X
run: |
Expand Down
45 changes: 45 additions & 0 deletions .github/workflows/build-x64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
name: PiCar-X Main Build

on: [pull_request]

jobs:
build:
runs-on: [self-hosted, Linux, X64]

steps:
- uses: actions/checkout@v2

- name: build core container
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-core.yml build --no-cache
- name: build dtp containers without gazebo
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-dtp-no-gazebo.yml build --no-cache
unit-tests:
runs-on: [self-hosted, Linux, X64]
steps:
- uses: actions/checkout@v2
- name: Run pytest in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name picarx-unittest abarbie/picarx:latest pytest ./src/core/picarx/tests
integration-tests:
runs-on: [self-hosted, Linux, X64]
steps:
- uses: actions/checkout@v2
- name: Start roslaunch in Docker container
working-directory: ./PiCar-X
run: |
docker run --rm --name dcmotor-integration-test -v /sys/class/gpio:/sys/class/gpio -v /dev/i2c-0:/dev/i2c-0 --privileged abarbie/picarx-dcmotor-driver:latest rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-0
release:
runs-on: [self-hosted, Linux, X64]
- name: Push to Docker Hub
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-dtp.yml push
2 changes: 1 addition & 1 deletion PiCar-X/docker-compose-ds.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ services:
privileged: true
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/skills/ackermann_drive:/root/catkin_ws/src/skills/ackermann_drive
command: /bin/bash -c "roslaunch picarx_ackermann_drive ackermann_skill.launch"
Expand Down
2 changes: 1 addition & 1 deletion PiCar-X/docker-compose-dt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ services:
privileged: true
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/skills/ackermann_drive:/root/catkin_ws/src/skills/ackermann_drive
command: /bin/bash -c "
Expand Down
26 changes: 13 additions & 13 deletions PiCar-X/docker-compose-dtp-ext-gazebo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,10 +60,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/drivers/dcmotor:/root/catkin_ws/src/drivers/dcmotor
command: /bin/bash -c "roslaunch picarx_dcmotor_driver dcmotor_left.launch motor1_i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_dcmotor_driver dcmotor_left.launch motor1_i2c_port:=$${I2C:-/dev/i2c-0}"
depends_on:
picarx:
condition: service_healthy
Expand All @@ -78,10 +78,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/drivers/dcmotor:/root/catkin_ws/src/drivers/dcmotor
command: /bin/bash -c "roslaunch picarx_dcmotor_driver dcmotor_right.launch motor2_i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_dcmotor_driver dcmotor_right.launch motor2_i2c_port:=$${I2C:-/dev/i2c-0}"
depends_on:
picarx:
condition: service_healthy
Expand All @@ -102,10 +102,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/drivers/clutchgear:/root/catkin_ws/src/drivers/clutchgear
command: /bin/bash -c "roslaunch picarx_clutchgear_driver ackermann_clutchgear_driver.launch i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_clutchgear_driver ackermann_clutchgear_driver.launch i2c_port:=$${I2C:-/dev/i2c-0}"
depends_on:
picarx:
condition: service_healthy
Expand All @@ -126,7 +126,7 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/skills/ackermann_drive:/root/catkin_ws/src/skills/ackermann_drive
command: /bin/bash -c "roslaunch picarx_ackermann_drive ackermann_skill.launch"
Expand All @@ -150,10 +150,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/emulators/dcmotor:/root/catkin_ws/src/emulators/dcmotor
command: /bin/bash -c "roslaunch picarx_dcmotor_emulator dcmotor_emulator_left.launch i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_dcmotor_emulator dcmotor_emulator_left.launch i2c_port:=$${I2C:-/dev/i2c-0}"
restart: on-failure

motor_emulator_right-dtp:
Expand All @@ -165,10 +165,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/emulators/dcmotor:/root/catkin_ws/src/emulators/dcmotor
command: /bin/bash -c "roslaunch picarx_dcmotor_emulator dcmotor_emulator_right.launch i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_dcmotor_emulator dcmotor_emulator_right.launch i2c_port:=$${I2C:-/dev/i2c-0}"
restart: on-failure

steering_emulator-dtp:
Expand All @@ -186,10 +186,10 @@ services:
volumes:
- /sys/class/gpio:/sys/class/gpio
- /dev/gpiochip0:/dev/gpiochip0
- /dev/i2c-11:/dev/i2c-11
- ${I2C:-/dev/i2c-0}:${I2C:-/dev/i2c-0}
- ./core:/root/catkin_ws/src/core
- ./ros/emulators/clutchgear:/root/catkin_ws/src/emulators/clutchgear
command: /bin/bash -c "roslaunch picarx_clutchgear_emulator ackermann_clutchgear_emulator.launch i2c_port:=/dev/i2c-11"
command: /bin/bash -c "roslaunch picarx_clutchgear_emulator ackermann_clutchgear_emulator.launch i2c_port:=$${I2C:-/dev/i2c-0}"
restart: on-failure

networks:
Expand Down
Loading

0 comments on commit 9c0e578

Please sign in to comment.