Skip to content

Commit

Permalink
chore: add Barman base image
Browse files Browse the repository at this point in the history
Now we build an image every week with the base packages required for
the sidecar, the idea is to reduce the amount of time of every CI
process requires to run.

Signed-off-by: Jonathan Gonzalez V. <[email protected]>
  • Loading branch information
sxd committed Nov 19, 2024
1 parent b854830 commit 52ba400
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 1 deletion.
52 changes: 52 additions & 0 deletions .github/workflows/barman-base-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Barman Base Image
on:
pull_request:
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"

env:
IMAGE_NAME: "gchr.io/cloudnative-pg/plugin-barman-cloud-base"

permissions:
contents: read
packages: write
pull_requests: write

jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Log in to the GitHub Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build Docker Image
uses: docker/build-push-action@v2
with:
context: .
file: ./containers/Dockerfile.barmanbase
push: true
tags: ${{ env.IMAGE_NAME }}:latest

- name: Run Snyk to check Docker image for vulnerabilities
uses: snyk/actions/docker@master
continue-on-error: true
env:
SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }}
with:
image: "${{ env.IMAGE_NAME }}:latest"
args: --severity-threshold=high --file=./containers/Dockerfile.barmanbase
-
name: Upload result to GitHub Code Scanning
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: snyk.sarif
6 changes: 6 additions & 0 deletions containers/Dockerfile.barmanbase
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM python:3.12-slim AS pythonbuilder
RUN apt-get update && \
apt-get install -y postgresql-common build-essential && \
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \
apt-get install -y libpq-dev && \
pip install barman[azure,cloud,google,snappy]==3.11.1 setuptools
2 changes: 1 addition & 1 deletion containers/Dockerfile.sidecar
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ RUN --mount=type=cache,target=/go/pkg/mod --mount=type=cache,target=/root/.cache
# pip will build everything inside /usr/ since this is the case
# we should build and then copy every file into a destination that will
# then copy into the distroless container
FROM python:3.13-slim AS pythonbuilder
FROM gchr.io/cloudnative-pg/plugin-barman-cloud-base:latest AS pythonbuilder
RUN apt-get update && \
apt-get install -y postgresql-common build-essential && \
/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && \
Expand Down

0 comments on commit 52ba400

Please sign in to comment.