Remove enable experimental feature for docker #393
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Docker Image CI - Feature Branch | |
on: | |
push: | |
branches: [ feature/** ] | |
jobs: | |
build-ros-perception-x86-64: | |
name: "Build ROS perception X86/64" | |
runs-on: ubuntu-latest | |
env: | |
BASE_IMAGE: "ros:noetic-perception" | |
ARCH: x86 | |
TARGET_TYPE: perception | |
TARGET_VERSION: feature | |
IMAGE_NAME: sonia_common | |
GITHUB_REMOTE_URL: docker.pkg.github.com/${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build the docker image (perception based) | |
run: | | |
docker build . --tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} --build-arg BUILD_DATE=$(date '+%Y-%m-%d_%H:%M:%S') --build-arg VERSION=${GITHUB_REF##*/}-$(date ' +%Y-%m-%d_%H:%M:%S') --build-arg BASE_IMAGE=${BASE_IMAGE} | |
- name: Run Module Unit Test | |
run: | | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja run_tests | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja tests | |
- name: Login to Github Package Registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin | |
- name: Create Docker Image Tag | |
run: | | |
docker tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} ${GITHUB_REMOTE_URL}/${IMAGE_NAME}:${ARCH}-${TARGET_TYPE}-${TARGET_VERSION}-${GITHUB_REF##*/} | |
- name: Push Image to Github Packages Registry | |
run: | | |
docker push --all-tags ${GITHUB_REMOTE_URL}/${IMAGE_NAME} | |
build-ros-perception-arm64: | |
# TODO fix this typo (AMR -> ARM). | |
# CI is blocked when we try to fix this typo. Probably a settings in the repository that uses that typo as requirements... | |
name: "Build ROS perception AMR64" | |
runs-on: ubuntu-latest | |
env: | |
BASE_IMAGE: "ros:noetic-perception" | |
ARCH: arm64 | |
TARGET_TYPE: perception | |
TARGET_VERSION: feature | |
IMAGE_NAME: sonia_common | |
GITHUB_REMOTE_URL: docker.pkg.github.com/${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install QEMU to be able to compile on X86 into ARM64 | |
run: | | |
sudo apt-get update && sudo apt-get install qemu binfmt-support qemu-user-static | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
- name: Build the docker image (perception based) | |
run: | | |
docker build . --platform arm64 --tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} --build-arg BUILD_DATE=$(date '+%Y-%m-%d_%H:%M:%S') --build-arg VERSION=${GITHUB_REF##*/}-$(date ' +%Y-%m-%d_%H:%M:%S') --build-arg BASE_IMAGE=${BASE_IMAGE} | |
- name: Run Module Unit Test | |
run: | | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja run_tests | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja tests | |
- name: Login to Github Package Registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin | |
- name: Create Docker Image Tag | |
run: | | |
docker tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} ${GITHUB_REMOTE_URL}/${IMAGE_NAME}:${ARCH}-${TARGET_TYPE}-${TARGET_VERSION}-${GITHUB_REF##*/} | |
- name: Push Image to Github Packages Registry | |
run: | | |
docker push --all-tags ${GITHUB_REMOTE_URL}/${IMAGE_NAME} | |
build-ros-perception-l4t-arm64: | |
name: "Build ROS perception L4T ARM64 (NVIDIA XAVIER)" | |
runs-on: ubuntu-latest | |
env: | |
BASE_IMAGE: "nvcr.io/nvidia/l4t-base:r32.6.1" | |
ARCH: arm64 | |
TARGET_TYPE: perception-l4t | |
TARGET_VERSION: feature | |
IMAGE_NAME: sonia_common | |
GITHUB_REMOTE_URL: docker.pkg.github.com/${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install QEMU to be able to compile on X86 into ARM64 | |
run: | | |
sudo apt-get update && sudo apt-get install qemu binfmt-support qemu-user-static | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
- name: Login to Github Package Registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin | |
- name: Build the docker image (perception based) | |
run: | | |
docker build -f Dockerfile.l4t --tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} --build-arg BASE_IMAGE=${BASE_IMAGE} . | |
- name: Run Module Unit Test | |
run: | | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja run_tests | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja tests | |
- name: Create Docker Image Tag | |
run: | | |
docker tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} ${GITHUB_REMOTE_URL}/${IMAGE_NAME}:${ARCH}-${TARGET_TYPE}-${TARGET_VERSION}-${GITHUB_REF##*/} | |
- name: Push Image to Github Packages Registry | |
run: | | |
docker push --all-tags ${GITHUB_REMOTE_URL}/${IMAGE_NAME} | |
build-ros-perception-cuda-x86-64: | |
name: "Build ROS perception CUDA X86/64" | |
runs-on: ubuntu-latest | |
env: | |
CUDA: "11.3.1" | |
UBUNTU: "18.04" | |
OPENCV: "3.4.14" | |
ARCH: x86 | |
TARGET_TYPE: perception | |
TARGET_VERSION: feature | |
IMAGE_NAME: sonia_common_cuda | |
GITHUB_REMOTE_URL: docker.pkg.github.com/${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Build the docker image (perception based) | |
run: | | |
docker build -f Dockerfile.cuda --tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} --build-arg BUILD_DATE=$(date '+%Y-%m-%d_%H:%M:%S') --build-arg VERSION=${GITHUB_REF##*/}-$(date ' +%Y-%m-%d_%H:%M:%S') . | |
- name: Run Module Unit Test | |
run: | | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja run_tests | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja tests | |
- name: Login to Github Package Registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin | |
- name: Create Docker Image Tag | |
run: | | |
docker tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} ${GITHUB_REMOTE_URL}/${IMAGE_NAME}:${ARCH}-${TARGET_TYPE}-${TARGET_VERSION}-${GITHUB_REF##*/} | |
- name: Push Image to Github Packages Registry | |
run: | | |
docker push --all-tags ${GITHUB_REMOTE_URL}/${IMAGE_NAME} | |
build-ros-perception-cuda-arm64: | |
name: "Build ROS perception CUDA ARM64" | |
runs-on: ubuntu-latest | |
env: | |
BASE_IMAGE: "ros:noetic-perception" | |
ARCH: arm64 | |
TARGET_TYPE: perception | |
TARGET_VERSION: feature | |
IMAGE_NAME: sonia_common_cuda | |
GITHUB_REMOTE_URL: docker.pkg.github.com/${{ github.repository }} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install QEMU to be able to compile on X86 into ARM64 | |
run: | | |
sudo apt-get update && sudo apt-get install qemu binfmt-support qemu-user-static | |
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
- name: Build the docker image (perception based) | |
run: | | |
docker build . --platform arm64 --tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} --build-arg BUILD_DATE=$(date '+%Y-%m-%d_%H:%M:%S') --build-arg VERSION=${GITHUB_REF##*/}-$(date ' +%Y-%m-%d_%H:%M:%S') --build-arg=-arm64 --build-arg BASE_IMAGE=${BASE_IMAGE} | |
- name: Run Module Unit Test | |
run: | | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja run_tests | |
docker run build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} catkin_make --use-ninja tests | |
- name: Login to Github Package Registry | |
run: | | |
echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin | |
- name: Create Docker Image Tag | |
run: | | |
docker tag build-${TARGET_VERSION}-${GITHUB_REF##*/}-${GITHUB_RUN_NUMBER} ${GITHUB_REMOTE_URL}/${IMAGE_NAME}:${ARCH}-${TARGET_TYPE}-${TARGET_VERSION}-${GITHUB_REF##*/} | |
- name: Push Image to Github Packages Registry | |
run: | | |
docker push --all-tags ${GITHUB_REMOTE_URL}/${IMAGE_NAME} |