Skip to content

Commit

Permalink
Fix CI and docker tokens
Browse files Browse the repository at this point in the history
  • Loading branch information
khancyr committed Dec 4, 2023
1 parent d00b1e4 commit 9c53a06
Show file tree
Hide file tree
Showing 10 changed files with 123 additions and 38 deletions.
134 changes: 105 additions & 29 deletions .github/workflows/build_and_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ jobs:
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@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand All @@ -71,7 +72,7 @@ jobs:
context: ./
file: docker/Dockerfile_dev-base
tags: ${{ steps.prep.outputs.tags }}
push: true
push: ${{ github.event_name != 'pull_request' }}
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -83,7 +84,8 @@ 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=gha
cache-to: type=gha,mode=max

build-main-images:
needs: build-base
Expand All @@ -103,14 +105,8 @@ jobs:
# git checkout the PR
- uses: actions/checkout@v4

-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
driver-opts: network=host

- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand Down Expand Up @@ -152,7 +148,29 @@ jobs:
echo "tags_base=${TAGS_BASE}" >> "$GITHUB_OUTPUT"
echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> "$GITHUB_OUTPUT"
- name: ReBuild ardupilot-dev-base image from cache
if: github.event_name == 'pull_request'
uses: docker/build-push-action@v5
with:
context: ./
file: docker/Dockerfile_dev-base
tags: ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }},ardupilot/ardupilot-dev-base:latest
push: false
load: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
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 }}
- name: Pull Base Docker image
if: github.event_name != 'pull_request'
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
Expand All @@ -164,7 +182,9 @@ jobs:
context: ./
file: docker/Dockerfile_dev-${{matrix.config}}
tags: ${{ steps.prep.outputs.tags }}
push: true
push: ${{ github.event_name != 'pull_request' }}
build-args: "TAG=${{ steps.prep.outputs.version }}"
pull: false
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -185,7 +205,7 @@ jobs:
fail-fast: false # don't cancel if a job from the matrix fails
matrix:
config: [
chibios-clang,
#chibios-clang,
armhf-musl,
periph
]
Expand All @@ -194,14 +214,8 @@ jobs:
# git checkout the PR
- uses: actions/checkout@v4

-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
driver: docker
driver-opts: network=host

- name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand Down Expand Up @@ -243,14 +257,80 @@ jobs:
echo "tags_base=${TAGS_BASE}" >> $GITHUB_OUTPUT
echo "created=$(date -u +'%Y-%m-%dT%H:%M:%SZ')" >> $GITHUB_OUTPUT
- name: ReBuild ardupilot-dev-base image from cache
if: github.event_name == 'pull_request'
uses: docker/build-push-action@v5
with:
context: ./
file: docker/Dockerfile_dev-base
tags: ardupilot/ardupilot-dev-base:${{ steps.prep.outputs.version }},ardupilot/ardupilot-dev-base:latest
push: false
load: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
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 }}
- name: ReBuild ardupilot-dev-armhf image from cache
if: github.event_name == 'pull_request' && ${{matrix.config}} == "armhf-musl"
uses: docker/build-push-action@v5
with:
context: ./
file: docker/Dockerfile_dev-armhf
tags: ardupilot/ardupilot-dev-armhf:${{ steps.prep.outputs.version }},ardupilot/ardupilot-dev-armhf:latest
build-args: "TAG=${{ steps.prep.outputs.version }}"
push: false
load: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
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 }}
- name: ReBuild ardupilot-dev-coverage image from cache
if: github.event_name == 'pull_request' && ${{matrix.config}} == "periph"
uses: docker/build-push-action@v5
with:
context: ./
file: docker/Dockerfile_dev-coverage
tags: ardupilot/ardupilot-dev-coverage:${{ steps.prep.outputs.version }},ardupilot/ardupilot-dev-coverage:latest
build-args: "TAG=${{ steps.prep.outputs.version }}"
push: false
load: true
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
org.opencontainers.image.url=${{ github.event.repository.html_url }}
org.opencontainers.image.source=${{ github.event.repository.clone_url }}
org.opencontainers.image.version=${{ steps.prep.outputs.version }}
org.opencontainers.image.created=${{ steps.prep.outputs.created }}
org.opencontainers.image.revision=${{ github.sha }}
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 }}
- name: Pull Base Docker image
if: github.event_name != 'pull_request' && ${{matrix.config}} == "armhf-musl"
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
- name: Pull Base Docker image
if: github.event_name != 'pull_request' && ${{matrix.config}} == "periph"
run: |
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
Expand All @@ -261,7 +341,9 @@ jobs:
context: ./
file: docker/Dockerfile_dev-${{matrix.config}}
tags: ${{ steps.prep.outputs.tags }}
push: true
build-args: "TAG=${{ steps.prep.outputs.version }}"
push: ${{ github.event_name != 'pull_request' }}
pull: false
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.name }}
Expand All @@ -273,9 +355,3 @@ 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 }}
# 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}}
3 changes: 2 additions & 1 deletion .github/workflows/ros_nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ jobs:
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@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand All @@ -76,7 +77,7 @@ jobs:
context: ./
file: docker/Dockerfile_dev-ros
tags: ${{ steps.prep.outputs.tags }}
push: true
push: ${{ github.event_name != 'pull_request' }}
labels: |
org.opencontainers.image.title=${{ steps.prep.outputs.img_name }}
org.opencontainers.image.description=${{ github.event.repository.description }}
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-aarch64
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-base:${TAG}

RUN apt-get update && apt-get install --no-install-recommends -y \
g++-aarch64-linux-gnu \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-armhf
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-base:${TAG}

RUN apt-get update && apt-get install --no-install-recommends -y \
g++-arm-linux-gnueabihf \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-armhf-musl
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-armhf:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-armhf:${TAG}

# Get ArduPilot MUSL ARM toolchain
ARG MUSL_ROOT="arm-linux-musleabihf-cross"
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-chibios
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-base:${TAG}

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

RUN apt-get update && apt-get install --no-install-recommends -y \
clang-14 \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-clang
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-base:${TAG}
ENV CLANG_VERSION=14

RUN apt-get update && apt-get install --no-install-recommends -y \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-coverage
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-base:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-base:${TAG}

RUN apt-get update && apt-get install --no-install-recommends -y \
lcov \
Expand Down
3 changes: 2 additions & 1 deletion docker/Dockerfile_dev-periph
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# syntax=docker/dockerfile:1
FROM ardupilot/ardupilot-dev-coverage:latest
ARG TAG="latest"
FROM ardupilot/ardupilot-dev-coverage:${TAG}

RUN apt-get update && dpkg --add-architecture i386 \
&& apt-get update \
Expand Down

0 comments on commit 9c53a06

Please sign in to comment.