Skip to content

Commit

Permalink
Merge pull request #1610 from greenbone/y0urself/rework-docker-images…
Browse files Browse the repository at this point in the history
…-and-ci

[master] rework docker images and ci
  • Loading branch information
bjoernricks authored Jul 4, 2021
2 parents 65f4538 + a182ee3 commit f2572ba
Show file tree
Hide file tree
Showing 8 changed files with 111 additions and 183 deletions.
21 changes: 21 additions & 0 deletions .docker/build/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Dockerfile for gvmd-$VERSION-$COMPILER-build

# Define ARG we use through the build
ARG VERSION=master
ARG BUILD_TYPE=Debug
ARG COMPILER=gcc

FROM greenbone/gvmd-$VERSION-$COMPILER-testing

# This will make apt-get install without question
ARG DEBIAN_FRONTEND=noninteractive

COPY . /usr/local/src/gvmd
WORKDIR /usr/local/src

# clone and install gvmd
RUN cd gvmd && \
mkdir build && \
cd build && \
cmake -DCMAKE_BUILD_TYPE=Release .. && \
make install
34 changes: 0 additions & 34 deletions .docker/deploy/clang/Dockerfile

This file was deleted.

34 changes: 0 additions & 34 deletions .docker/deploy/gcc/Dockerfile

This file was deleted.

45 changes: 0 additions & 45 deletions .docker/test/clang/Dockerfile

This file was deleted.

45 changes: 0 additions & 45 deletions .docker/test/gcc/Dockerfile

This file was deleted.

21 changes: 21 additions & 0 deletions .docker/testing/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Dockerfile for gvmd-$VERSION-$COMPILER-testing

# Define ARG we use through the build
ARG VERSION=master
ARG BUILD_TYPE=Debug
ARG COMPILER=gcc

# We want gvm-libs to be ready so we use the build docker image of gvm-libs
FROM greenbone/gvm-libs-$VERSION-$COMPILER-build

# This will make apt-get install without question
ARG DEBIAN_FRONTEND=noninteractive

# Install Debian core dependencies required for building gvm with PostgreSQL
# support and not yet installed as dependencies of gvm-libs-core
RUN apt-get update && apt-get install --assume-yes \
libical-dev \
libpq-dev \
postgresql-server-dev-all \
xsltproc \
&& rm -rf /var/lib/apt/lists/*
16 changes: 8 additions & 8 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
check-format:
name: Check formatting
runs-on: ubuntu-latest
container: greenbone/gvmd-master-debian-buster-clang-test
container: greenbone/gvmd-master-clang-testing
steps:
- name: Check out gvmd
uses: actions/checkout@v2
Expand Down Expand Up @@ -59,7 +59,7 @@ jobs:
name: Upload doc coverage to Codecov
needs: gen_xml_doc
runs-on: ubuntu-latest
container: greenbone/gvmd-master-debian-buster-clang-test
container: greenbone/gvmd-master-clang-testing
steps:
- name: Check out gvmd
uses: actions/checkout@v2
Expand Down Expand Up @@ -89,7 +89,7 @@ jobs:
build_gmp_doc:
name: Build GMP documentation
runs-on: ubuntu-latest
container: greenbone/gvmd-master-debian-buster-clang-test
container: greenbone/gvmd-master-clang-testing
steps:
- name: Check out gvmd
uses: actions/checkout@v2
Expand All @@ -110,8 +110,8 @@ jobs:
- Debug
- Release
docker_base:
- greenbone/gvmd-master-debian-buster-clang-test
- greenbone/gvmd-master-debian-buster-gcc-test
- greenbone/gvmd-master-clang-testing
- greenbone/gvmd-master-gcc-testing
container: ${{ matrix.docker_base }}
env:
BUILD_TYPE: ${{ matrix.build_type }}
Expand Down Expand Up @@ -154,7 +154,7 @@ jobs:
scan-build:
name: Scan-build (clang static analyzer)
runs-on: ubuntu-latest
container: greenbone/gvmd-master-debian-buster-clang-test
container: greenbone/gvmd-master-clang-testing
steps:
- name: Check out gvmd
uses: actions/checkout@v2
Expand Down Expand Up @@ -204,8 +204,8 @@ jobs:
strategy:
matrix:
docker_base:
- greenbone/gvmd-master-debian-buster-clang-test
- greenbone/gvmd-master-debian-buster-gcc-test
- greenbone/gvmd-master-clang-testing
- greenbone/gvmd-master-gcc-testing
container: ${{ matrix.docker_base }}
steps:
- name: Check out gvmd
Expand Down
78 changes: 61 additions & 17 deletions .github/workflows/docker-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,31 +2,30 @@ name: Build and upload docker images

on:
push:
branches:
- 'master'
branches: [ master, gvmd-20.08, gvmd-21.04 ]

jobs:
build-master-gcc-test:
upload-testing:
name: "Upload testing docker images"
runs-on: ubuntu-latest
strategy:
matrix:
compiler:
- gcc
- clang
purpose:
- test
- deploy
platform:
- debian-buster
compiler:
- gcc
- clang
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Find reference branch
- name: Find reference branch and version
run: |
if [ -n "$GITHUB_BASE_REF" ]; \
if [ -n "$GITHUB_BASE_REF" ]; \
then echo "BRANCH=${GITHUB_BASE_REF##*/}" >> $GITHUB_ENV; \
else echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV; \
fi
fi; \
if [ $BRANCH != "master" ]; \
then VERSION=$(echo "$BRANCH" | sed 's/gvmd-//g' -); \
else VERSION=master; fi; \
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
Expand All @@ -35,10 +34,55 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# this only works with github.ref on push not on pull_request. ;)
- run: echo "Build and push ${{ github.repository }}-${{ env.BRANCH }}-${{ matrix.platform}}-${{matrix.compiler}}-${{matrix.purpose}}"
- run: echo "Build and push ${{ github.repository }}-${{ env.VERSION }}-${{matrix.compiler}}-testing"
- name: Build and push
uses: docker/build-push-action@v2.5.0
with:
context: .
push: true
tags: ${{ github.repository }}-${{ env.BRANCH }}-${{ matrix.platform}}-${{matrix.compiler}}-${{matrix.purpose}}
file: .docker/${{matrix.purpose}}/${{matrix.compiler}}/Dockerfile
tags: ${{ github.repository }}-${{ env.VERSION }}-${{matrix.compiler}}-testing
file: .docker/testing/Dockerfile
build-args: |
VERSION=${{ env.VERSION }}
COMPILER=${{matrix.compiler}}
upload-build:
needs: upload-testing
name: "Upload build docker images"
runs-on: ubuntu-latest
strategy:
matrix:
compiler:
- gcc
- clang
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Find reference branch and version
run: |
if [ -n "$GITHUB_BASE_REF" ]; \
then echo "BRANCH=${GITHUB_BASE_REF##*/}" >> $GITHUB_ENV; \
else echo "BRANCH=${GITHUB_REF##*/}" >> $GITHUB_ENV; \
fi; \
if [ $BRANCH != "master" ]; \
then VERSION=$(echo "$BRANCH" | sed 's/gvmd-//g' -); \
else VERSION=master; fi; \
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# this only works with github.ref on push not on pull_request. ;)
- run: echo "Build and push ${{ github.repository }}-${{ env.VERSION }}-${{matrix.compiler}}-build"
- name: Build and push
uses: docker/build-push-action@v2.5.0
with:
context: .
push: true
tags: ${{ github.repository }}-${{ env.VERSION }}-${{matrix.compiler}}-build
file: .docker/build/Dockerfile
build-args: |
VERSION=${{ env.VERSION }}
COMPILER=${{matrix.compiler}}

0 comments on commit f2572ba

Please sign in to comment.