Skip to content

Push tagged image

Push tagged image #69

name: Push tagged image
defaults:
run:
shell: bash
on:
workflow_dispatch:
inputs:
image:
description: 'Image to push'
required: true
default: ddev-webserver
type: choice
options:
- ddev-php-base
- ddev-webserver
- ddev-ssh-agent
- ddev-traefik-router
- ddev-nginx-proxy-router
- test-ssh-server
tag:
description: Tag for pushed image (v1.22.2 for example)
required: true
default: ""
debug_enabled:
description: 'Enable debug mode'
type: boolean
required: false
default: false
env:
REGISTRY: docker.io
DOCKER_ORG: ddev
TAG: "${{ github.event.inputs.tag }}"
HOMEBREW_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }}
permissions:
contents: read
jobs:
push-tagged-image:
name: "push tagged image"
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
github-token: ${{ secrets.GITHUB_TOKEN }}
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
- name: Push ${{ github.event.inputs.image }} image
if: github.event.inputs.image != 'ddev-dbserver' && github.event.inputs.image != 'all'
run: |
cd "containers/${{ github.event.inputs.image }}"
make push VERSION="${{ github.event.inputs.tag }}"
- name: Push all images (not in use)
if: github.event.inputs.image == 'all'
run: |
cd "containers"
VERSION="${{ github.event.inputs.tag }}" ./push-all.sh
- name: Push ${{ github.event.inputs.image }} ddev-dbserver image
if: github.event.inputs.image == 'ddev-dbserver'
run: |
cd "containers/${{ github.event.inputs.image }}"
make PUSH=true VERSION="${{ github.event.inputs.tag }}"