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: release_linux: name: Release Linux 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 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 release_readme: name: Release readme runs-on: ubuntu-20.04 needs: - release_shared steps: - name: Check out the repo uses: actions/checkout@v2 - 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: Push README run: | docker run -i \ -v $(pwd):/repo \ -e DOCKER_USER=$DOCKER_USERNAME \ -e DOCKER_PASS=$DOCKER_PASSWORD \ chko/docker-pushrm:1 \ --file /repo/hub-description.md \ --debug \ ${IMAGE_TARGET_NAMESPACE}/${IMAGE_NAME}