Skip to content

still trying to fix the workflows #5

still trying to fix the workflows

still trying to fix the workflows #5

Workflow file for this run

name: PiCar-X Main Build on PUSH
on: [push, workflow_dispatch]
env:
REGISTRY: ghcr.io
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-headless-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 ghcr.io/cau-se/arches-picar-x/picarx:latest pytest ./src/core/picarx/tests
integration-tests:
runs-on: [self-hosted, Linux, X64]
needs: [unit-tests]
steps:
- uses: actions/checkout@v4
- name: Integration Test dcmotor
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 ghcr.io/cau-se/arches-picar-x/drivers/dcmotor:latest rostest picarx_dcmotor_driver integration_tests.test i2c_port:=/dev/i2c-0
- name: Speed tests using Gazebo headless
working-directory: ./PiCar-X
run: |
i2c=/dev/i2c-0 docker compose -f docker-compose-dtp-headless-gazebo.yml up -d
docker exec picar-x-picarx-gazebo-control-1 /bin/bash -c "source ./install/setup.bash && sleep 30; python3 ./src/simulation/picarx_control/tests/steering_integration_test.py"
- name: Remove running containers after tests
if: success() || failure()
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-dtp-headless-gazebo.yml down
release:
runs-on: [self-hosted, Linux, ARM]
needs: [integration-tests]
steps:
- uses: actions/checkout@v4
- name: Log in to the Container registry
uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Push to ghcr.io
working-directory: ./PiCar-X
run: |
TAG=latest docker compose -f docker-compose-dtp-headless-gazebo.yml push