Skip to content

Commit

Permalink
Test creating manifests
Browse files Browse the repository at this point in the history
Signed-off-by: Martin Tzvetanov Grigorov <mgrigorov@apache.org>
  • Loading branch information
martin-g committed Nov 29, 2023
1 parent c17744c commit 262aa01
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 47 deletions.
102 changes: 75 additions & 27 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ on:
- cron: "0 6 * * SUN" # Once weekly on Sunday @ 0600 UTC
workflow_dispatch: null

env:
# REGISTRY_DH: docker.io/condaforge
# REGISTRY_QUAY: quay.io/condaforge
REGISTRY_DH: docker.io/mtgrigorov
REGISTRY_QUAY: quay.io/mgrigorov

jobs:
build:
name: ${{ matrix.cfg.DOCKERIMAGE }}:${{ matrix.cfg.DOCKERTAG }} (${{ matrix.cfg.DISTRO_ARCH }})
Expand Down Expand Up @@ -253,6 +259,8 @@ jobs:
--build-arg DISTRO_NAME \
--build-arg DISTRO_VER \
-t condaforge/$DOCKERIMAGE:$DOCKERTAG \
-t ${{ env.REGISTRY_DH }}/$DOCKERIMAGE:$DOCKERTAG \
-t ${{ env.REGISTRY_QUAY }}/$DOCKERIMAGE:$DOCKERTAG \
-f ${DOCKERFILE:-${DOCKERIMAGE}}/Dockerfile \
--no-cache --squash .
Expand All @@ -269,43 +277,83 @@ jobs:
DH_USER: ${{ secrets.DOCKER_HUB_USER }}
DH_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWD }}
run: |
./scripts/deploy-mgrigorov
./scripts/deploy
build-manifest:
needs: [build]
name: ${{ matrix.cfg.DOCKER_MANIFEST }}:${{ matrix.cfg.DOCKER_TAG }}
# if: github.ref == 'refs/heads/main' && github.repository == 'conda-forge/docker-images'
name: ${{ matrix.docker-registry }}/${{ matrix.cfg.DOCKER_MANIFEST }}:${{ matrix.cfg.DOCKER_TAG }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
docker-registry: [docker.io/mtgrigorov, quay.io/mgrigorov]
cfg:
- DOCKER_MANIFEST: condaforge/linux-anvil-cos7
- DOCKER_MANIFEST: linux-anvil-cos7
DOCKER_TAG: "latest"
DOCKER_IMAGES: condaforge/linux-anvil-cos7-x86_64:latest,condaforge/linux-anvil-ppc64le:latest,condaforge/linux-anvil-aarch64:latest

- DOCKER_MANIFEST: condaforge/linux-anvil-alma
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cos7-x86_64:<<TAG>>,<<ORG>>/linux-anvil-ppc64le:<<TAG>>,<<ORG>>/linux-anvil-aarch64:<<TAG>>"
- DOCKER_MANIFEST: linux-anvil-alma
DOCKER_TAG: "8"
DOCKER_IMAGES: condaforge/linux-anvil-alma-x86_64:8,condaforge/linux-anvil-alma-ppc64le:8,condaforge/linux-anvil-alma-aarch64:8

DOCKER_IMAGES: "<<ORG>>/linux-anvil-alma-x86_64:<<TAG>>,<<ORG>>/linux-anvil-alma-ppc64le:<<TAG>>,<<ORG>>/linux-anvil-alma-aarch64:<<TAG>>"
- DOCKER_MANIFEST: linux-anvil-ubi-cuda
DOCKER_TAG: "11.0"
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.1"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.2"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.3"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.4"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.5"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.6"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.7"
- DOCKER_MANIFEST: linux-anvil-cos7-cuda
DOCKER_IMAGES: "<<ORG>>/linux-anvil-cuda:<<TAG>>,<<ORG>>/linux-anvil-ppc64le-cuda:<<TAG>>,<<ORG>>/linux-anvil-aarch64-cuda:<<TAG>>"
DOCKER_TAG: "11.8"

steps:

- name: Create Docker manifests
uses: Noelware/docker-manifest-action@v0.3.0
- uses: actions/checkout@v4

- name: Interpolate placeholders
id: interpolate
run: |
set -x
INTERPOLATED=`echo "${{ matrix.cfg.DOCKER_IMAGES }}" | sed "s#<<ORG>>#${{ matrix.docker-registry }}#g" | sed "s#<<TAG>>#${{ matrix.cfg.DOCKER_TAG }}#g"`
echo "DOCKER_IMAGES=${INTERPOLATED}" >> "$GITHUB_OUTPUT"
- name: Login to DockerHub registry
uses: docker/login-action@v2
with:
inputs: ${{ matrix.cfg.DOCKER_MANIFEST }}:${{ matrix.cfg.DOCKER_TAG }}
images: ${{ matrix.cfg.DOCKER_IMAGES }}
push: false

- name: Deploy manifests
# if: github.ref == 'refs/heads/main' && github.repository == 'conda-forge/docker-images'
username: ${{ secrets.DOCKER_HUB_USER }}
password: ${{ secrets.DOCKER_HUB_PASSWD }}
# username: ${{ secrets.DH_USER }}
# password: ${{ secrets.DH_PASSWORD }}

- name: Login to Quay.io registry
uses: docker/login-action@v2
with:
registry: quay.io
username: ${{ secrets.CFD_QUAY_USER }}
password: ${{ secrets.CFD_QUAY_PASSWORD }}

- name: Push Docker manifest list for ${{ matrix.docker-registry }}
uses: Noelware/docker-manifest-action@v0.3.0
env:
CFD_QUAY_USER: ${{ secrets.CFD_QUAY_USER }}
CFD_QUAY_PASSWORD: ${{ secrets.CFD_QUAY_PASSWORD }}
# DH_PASSWORD: ${{ secrets.DH_PASSWORD }}
DH_USER: ${{ secrets.DOCKER_HUB_USER }}
DH_PASSWORD: ${{ secrets.DOCKER_HUB_PASSWD }}
DOCKERIMAGE: ${{ matrix.cfg.DOCKER_MANIFEST }}
DOCKERTAG: ${{ matrix.cfg.DOCKER_TAG }}
run: |
./scripts/deploy-mgrigorov
ORG: mtgrigorov
with:
inputs: ${{ matrix.docker-registry }}/${{ matrix.cfg.DOCKER_MANIFEST }}:${{ matrix.cfg.DOCKER_TAG }}
images: ${{ steps.interpolate.outputs.DOCKER_IMAGES }}
push: true

5 changes: 2 additions & 3 deletions scripts/deploy
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

# dockerhub
docker login -u condaforgebot -p $DH_PASSWORD
docker push condaforge/$DOCKERIMAGE:$DOCKERTAG
docker push ${REGISTRY_DH}/$DOCKERIMAGE:$DOCKERTAG

# quay.io
docker login -u conda_forge_daemon -p ${CFD_QUAY_PASSWORD} quay.io
docker tag condaforge/$DOCKERIMAGE:$DOCKERTAG quay.io/condaforge/$DOCKERIMAGE:$DOCKERTAG
docker push quay.io/condaforge/$DOCKERIMAGE:$DOCKERTAG
docker push ${REGISTRY_QUAY}/$DOCKERIMAGE:$DOCKERTAG
17 changes: 0 additions & 17 deletions scripts/deploy-mgrigorov

This file was deleted.

0 comments on commit 262aa01

Please sign in to comment.