Skip to content

refactored docker compose files and added github actions #6

refactored docker compose files and added github actions

refactored docker compose files and added github actions #6

Workflow file for this run

name: PiCar-X Main Build
on: [pull_request]
jobs:
build:
runs-on: [self-hosted, Linux, X64]
steps:
- uses: actions/checkout@v4
- 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]
needs: [build]
steps:
- uses: actions/checkout@v4
- 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]
needs: [unit-tests]
steps:
- uses: actions/checkout@v4
- 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]
needs: [integration-tests]
steps:
- uses: actions/checkout@v4
- name: Push to Docker Hub
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-dtp.yml push