Skip to content

Presidio Docker Build #32

Presidio Docker Build

Presidio Docker Build #32

name: Presidio Docker Build
on:
push:
branches: [main]
workflow_dispatch:
env:
REGISTRY_NAME: ghcr.io # SDSC ADD-ON
USERNAME: ${{ github.repository_owner }}
TAG: gha${{ github.run_number }}
jobs:
build-platform-images:
name: Build presidio images.
runs-on: ubuntu-latest
steps:
- name: Checkout current repo
uses: actions/checkout@v5
- uses: ./.github/actions/setup-nix
- name: Apply patches
run: nix develop --no-pure-eval --accept-flake-config "./tools/nix#ci" --command \
"just external::patch"
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
# SDSC ADD-ON
# https://github.com/docker/login-action
- name: Log in to the Container registry
uses: docker/login-action@v3.0.0
with:
registry: ${{ env.REGISTRY_NAME }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push patched Presidio images
run: |
nix develop --no-pure-eval --accept-flake-config "./tools/nix#ci" --command \
"just image::build ${{ env.TAG }} --push"
create-manifests:
name: Create Multi-Platform Manifests
runs-on: ubuntu-latest
needs: build-platform-images
steps:
# SDSC ADD-ON
# https://github.com/docker/login-action
- name: Log in to the Container registry
uses: docker/login-action@v3.0.0
with:
registry: ${{ env.REGISTRY_NAME }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Create all multi-platform manifests
run: |
IMAGES=("presidio-anonymizer" "presidio-analyzer")
for image in "${IMAGES[@]}"; do
echo "Creating manifest for $image"
docker buildx imagetools create \
--tag ${{ env.REGISTRY_NAME }}/${{ env.USERNAME }}/${image}:${{ env.TAG }} \
${{ env.REGISTRY_NAME }}/${{ env.USERNAME }}/${image}:${{ env.TAG }}-linux-amd64
done