Skip to content

Commit

Permalink
udpate all
Browse files Browse the repository at this point in the history
  • Loading branch information
khancyr committed May 10, 2023
1 parent 5c6dc51 commit f2ba0d0
Show file tree
Hide file tree
Showing 12 changed files with 60 additions and 49 deletions.
58 changes: 30 additions & 28 deletions .github/workflows/build_and_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:

jobs:
build-base:
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
steps:
# git checkout the PR
- uses: actions/checkout@v3
Expand All @@ -23,15 +23,6 @@ jobs:
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2

-
name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
-
name: Prepare
id: prep
Expand All @@ -54,15 +45,15 @@ jobs:
if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
MINOR=${VERSION%.*}
MAJOR=${MINOR%.*}
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest"
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR}"
elif [ "${{ github.event_name }}" = "push" ]; then
TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}"
fi
echo "img_name=${DOCKER_IMAGE}" >> $GITHUB_OUTPUT
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "tags=${TAGS}" >> $GITHUB_OUTPUT
echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
Expand All @@ -77,7 +68,7 @@ jobs:
context: ./
file: docker/Dockerfile_dev-base
tags: ${{ steps.prep.outputs.tags }}
push: ${{ startsWith(github.ref, 'refs/tags/') }}
push: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -89,14 +80,11 @@ jobs:
org.opencontainers.image.licenses=${{ github.event.repository.license.spdx_id }}
org.label-schema.vcs-ref=${{ github.sha }}
org.label-schema.vcs-url=${{ github.event.repository.clone_url }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: |
type=local,dest=/tmp/.buildx-cache
build-main-images:
needs: build-base
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
Expand All @@ -107,7 +95,6 @@ jobs:
aarch64,
coverage,
# chibios-py2, # Deprecated
ros
]
steps:
# git checkout the PR
Expand Down Expand Up @@ -151,8 +138,8 @@ jobs:
if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
MINOR=${VERSION%.*}
MAJOR=${MINOR%.*}
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:${MINOR},${DOCKER_IMAGE_BASE}:${MAJOR},${DOCKER_IMAGE_BASE}:latest"
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:${MINOR},${DOCKER_IMAGE_BASE}:${MAJOR}"
elif [ "${{ github.event_name }}" = "push" ]; then
TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:sha-${GITHUB_SHA::8}"
Expand All @@ -163,14 +150,19 @@ jobs:
echo "tags_base=${TAGS_BASE}" >> $GITHUB_OUTPUT
echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
- name: Pull Base Docker image
run: |
docker pull ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }}
docker tag ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }} ardupilot/ardupilot-dev-base:latest
# Only push if it comes from tagging
- name: Build ardupilot-dev-${{matrix.config}} images
uses: docker/build-push-action@v4
with:
context: ./
file: docker/Dockerfile_dev-${{matrix.config}}
tags: ${{ steps.prep.outputs.tags }}
push: ${{ startsWith(github.ref, 'refs/tags/') }}
push: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -186,7 +178,7 @@ jobs:
# those need images from config, so we build them on second step
build-sub-images:
needs: build-main-images
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
strategy:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
Expand Down Expand Up @@ -238,8 +230,8 @@ jobs:
if [[ $VERSION =~ ^v[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
MINOR=${VERSION%.*}
MAJOR=${MINOR%.*}
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR},${DOCKER_IMAGE}:latest"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:${MINOR},${DOCKER_IMAGE_BASE}:${MAJOR},${DOCKER_IMAGE_BASE}:latest"
TAGS="$TAGS,${DOCKER_IMAGE}:${MINOR},${DOCKER_IMAGE}:${MAJOR}"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:${MINOR},${DOCKER_IMAGE_BASE}:${MAJOR}"
elif [ "${{ github.event_name }}" = "push" ]; then
TAGS="$TAGS,${DOCKER_IMAGE}:sha-${GITHUB_SHA::8}"
TAGS_BASE="$TAGS_BASE,${DOCKER_IMAGE_BASE}:sha-${GITHUB_SHA::8}"
Expand All @@ -250,14 +242,25 @@ jobs:
echo "tags_base=${TAGS_BASE}" >> $GITHUB_OUTPUT
echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
- name: Pull Base Docker image
run: |
docker pull ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }}
docker tag ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }} ardupilot/ardupilot-dev-base:latest
docker pull ardupilot/ardupilot-dev-chibios:${{ steps.prep.outputs.version }}
docker tag ardupilot/ardupilot-dev-chibios:${{ steps.prep.outputs.version }} ardupilot/ardupilot-dev-chibios:latest
docker pull ardupilot/ardupilot-dev-armhf:${{ steps.prep.outputs.version }}
docker tag ardupilot/ardupilot-dev-armhf:${{ steps.prep.outputs.version }} ardupilot/ardupilot-dev-armhf:latest
docker pull ardupilot/ardupilot-dev-coverage:${{ steps.prep.outputs.version }}
docker tag ardupilot/ardupilot-dev-coverage:${{ steps.prep.outputs.version }} ardupilot/ardupilot-dev-coverage:latest
# Only push if it comes from tagging
- name: Build ardupilot-dev-${{matrix.config}} images
uses: docker/build-push-action@v4
with:
context: ./
file: docker/Dockerfile_dev-${{matrix.config}}
tags: ${{ steps.prep.outputs.tags }}
push: ${{ startsWith(github.ref, 'refs/tags/') }}
push: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -270,9 +273,8 @@ jobs:
org.label-schema.vcs-ref=${{ github.sha }}
org.label-schema.vcs-url=${{ github.event.repository.clone_url }}
# separated push action as the build-push-action@v2 don't support push for docker
# separated push action as the build-push-action@v2 don't support push for docker
# - name: Push ardupilot-dev-${{matrix.config}} images
# if: startsWith(github.ref, 'refs/tags/')
# run: |
# docker push ardupilot/ardupilot-dev-${{matrix.config}}

5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-aarch64
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FROM ardupilot/ardupilot-dev-base
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest

RUN apt-get update && apt-get install --no-install-recommends -y \
g++-aarch64-linux-gnu \
Expand All @@ -7,4 +8,4 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-armhf
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
FROM ardupilot/ardupilot-dev-base
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest

RUN apt-get update && apt-get install --no-install-recommends -y \
g++-arm-linux-gnueabihf \
pkg-config-arm-linux-gnueabihf \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
4 changes: 2 additions & 2 deletions docker/Dockerfile_dev-armhf-musl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FROM ardupilot/ardupilot-dev-armhf
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-armhf:latest

# Get ArduPilot MUSL ARM toolchain
ARG MUSL_ROOT="arm-linux-musleabihf-cross"
Expand All @@ -18,4 +19,3 @@ ENV PATH="/opt/$MUSL_ROOT/bin:$PATH"

# Set ccache to the PATH
ENV PATH="/usr/lib/ccache:$PATH"

5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-base
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax=docker/dockerfile:1
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install --no-install-recommends -y software-properties-common \
&& add-apt-repository ppa:git-core/ppa \
Expand Down Expand Up @@ -34,7 +35,7 @@ RUN apt-get update \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN python -m pip install --no-cache-dir -U future lxml pexpect flake8==4.0.1 pycodestyle==2.8.0 empy pyelftools tabulate

Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-chibios
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FROM ardupilot/ardupilot-dev-base
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest

# Get ArduPilot STM32 toolchain
ARG ARM_ROOT="gcc-arm-none-eabi-10"
Expand Down
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-chibios-clang
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
FROM ardupilot/ardupilot-dev-chibios
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-chibios:latest

RUN apt-get update && apt-get install --no-install-recommends -y \
clang-7 \
llvm-7 \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# symlink to compiler versions
RUN ln -s /usr/bin/clang-7 /usr/bin/clang \
Expand Down
4 changes: 2 additions & 2 deletions docker/Dockerfile_dev-chibios-py2
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
FROM ubuntu:20.04

ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update \
&& apt-get install --no-install-recommends -y software-properties-common \
&& add-apt-repository ppa:git-core/ppa \
Expand Down Expand Up @@ -31,7 +31,7 @@ RUN apt-get update \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN wget -q https://bootstrap.pypa.io/pip/2.7/get-pip.py && python get-pip.py && rm -f get-pip.py
RUN python -m pip install --no-cache-dir -U future lxml pexpect flake8 pycodestyle empy pyserial
Expand Down
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-clang
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
FROM ardupilot/ardupilot-dev-base
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest

RUN apt-get update && apt-get install --no-install-recommends -y \
clang-7 \
llvm-7 \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# symlink to compiler versions
RUN ln -s /usr/bin/clang-7 /usr/bin/clang \
Expand Down
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-coverage
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
FROM ardupilot/ardupilot-dev-base
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest

RUN apt-get update && apt-get install --no-install-recommends -y \
lcov \
gcovr \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-periph
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
FROM ardupilot/ardupilot-dev-coverage
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-coverage:latest

RUN apt-get update && dpkg --add-architecture i386 \
&& apt-get update \
Expand All @@ -10,4 +11,4 @@ RUN apt-get update && dpkg --add-architecture i386 \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
5 changes: 3 additions & 2 deletions docker/Dockerfile_dev-ros
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# syntax=docker/dockerfile:1
FROM ros:humble-ros-base as main-setup

ENV DEBIAN_FRONTEND=noninteractive
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --no-install-recommends -y \
lsb-release \
sudo \
Expand Down Expand Up @@ -34,7 +35,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
&& apt-get clean \
&& apt-get -y autoremove \
&& apt-get clean autoclean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN python -m pip install --no-cache-dir -U future lxml pexpect flake8 empy pyelftools tabulate pymavlink

Expand Down

0 comments on commit f2ba0d0

Please sign in to comment.