name: Release all images on: workflow_dispatch: inputs: namespace: description: "The namespace into which the images are released" required: true default: daewok env: DOCKER_CLI_EXPERIMENTAL: "enabled" IMAGE_NAME: ccl IMAGE_BUILD_NAMESPACE: daewok IMAGE_TARGET_NAMESPACE: ${{ github.event.inputs.namespace }} VERSION: "1.12" jobs: retag_linux: name: Retag all -tmp-master suffixes for Linux runs-on: ubuntu-20.04 steps: - name: Check out the repo uses: actions/checkout@v2 with: submodules: true - name: Login to Dockerhub env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - name: Retag all -tmp-master suffixes for Linux run: ./cl-docker-images-build/cl-docker-images-build pull_retag_and_push_linux_arch_images release_linux: name: Release Linux images runs-on: ubuntu-20.04 needs: retag_linux steps: - name: Check out the repo uses: actions/checkout@v2 with: submodules: true - name: Login to Dockerhub env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - name: Release Linux Images run: ./cl-docker-images-build/cl-docker-images-build release_linux_manifests release_windows: name: Release Windows images runs-on: ubuntu-20.04 steps: - name: Check out the repo uses: actions/checkout@v2 with: submodules: true - name: Login to Dockerhub env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - name: Release Windows Images run: | create_manifest_for_windows () { docker manifest create $IMAGE_TARGET_NAMESPACE/$IMAGE_NAME:$1 ${IMAGE_BUILD_NAMESPACE}winamd64/$IMAGE_NAME:$1 docker manifest push -p $IMAGE_TARGET_NAMESPACE/$IMAGE_NAME:$1 } create_manifest_for_windows $VERSION-windowsservercore-ltsc2019 create_manifest_for_windows windowsservercore-ltsc2019 create_manifest_for_windows $VERSION-windowsservercore create_manifest_for_windows windowsservercore create_manifest_for_windows latest-windowsservercore release_shared: name: Release shared tags runs-on: ubuntu-20.04 needs: - release_linux - release_windows steps: - name: Check out the repo uses: actions/checkout@v2 with: submodules: true - name: Login to Dockerhub env: DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} run: echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin - name: Release Shared Tags run: ./cl-docker-images-build/cl-docker-images-build release_shared_manifests