Update alpine Docker tag to v3.19.1 #74
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: image build and push | |
on: | |
push: | |
branches: | |
- "main" | |
paths-ignore: | |
- "**.md" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
env: | |
IMAGE_NAME: "simaofsilva/drone-cli" | |
CLI_VERSION: "v1.8.0" # renovate: datasource=github-tags depName=harness/drone-cli | |
jobs: | |
build-amd64: | |
runs-on: ubuntu-latest | |
env: | |
ARCH: amd64 | |
steps: | |
- 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: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
platforms: linux/amd64 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-${{ env.ARCH }} | |
file: Dockerfile | |
build-args: | | |
VERSION=${{ env.CLI_VERSION }} | |
ARCH=${{ env.ARCH }} | |
build-arm32v6: | |
runs-on: ubuntu-latest | |
env: | |
ARCH: arm | |
VARIANT: v6 | |
steps: | |
- 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: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
platforms: linux/arm/v6 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-${{ env.ARCH }}${{ env.VARIANT }} | |
file: Dockerfile | |
build-args: | | |
VERSION=${{ env.CLI_VERSION }} | |
ARCH=${{ env.ARCH }} | |
build-arm32v7: | |
runs-on: ubuntu-latest | |
env: | |
ARCH: arm | |
VARIANT: v7 | |
steps: | |
- 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: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
platforms: linux/arm/v7 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-${{ env.ARCH }}${{ env.VARIANT }} | |
file: Dockerfile | |
build-args: | | |
VERSION=${{ env.CLI_VERSION }} | |
ARCH=${{ env.ARCH }} | |
build-arm64: | |
runs-on: ubuntu-latest | |
env: | |
ARCH: arm64 | |
VARIANT: v8 | |
steps: | |
- 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: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
- name: Build and push | |
id: docker_build | |
uses: docker/build-push-action@v3 | |
with: | |
context: . | |
platforms: linux/arm64/v8 | |
push: true | |
tags: | | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-${{ env.ARCH }} | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-${{ env.ARCH }}${{ env.VARIANT }} | |
file: Dockerfile | |
build-args: | | |
VERSION=${{ env.CLI_VERSION }} | |
ARCH=${{ env.ARCH }} | |
build-manifest: | |
needs: [build-amd64, build-arm32v6, build-arm32v7, build-arm64] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: create manifest for version ${{ env.CLI_VERSION }} | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest create --amend ${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }} \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-amd64 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-arm64v8 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv7 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv6 | |
- name: push manifest for version ${{ env.CLI_VERSION }} | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest push ${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }} | |
- name: create manifest for linux version | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest create --amend ${{ env.IMAGE_NAME }}:linux \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-amd64 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-arm64v8 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv7 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv6 | |
- name: push manifest for linux version | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest push ${{ env.IMAGE_NAME }}:linux | |
- name: create manifest for latest version | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest create --amend ${{ env.IMAGE_NAME }}:latest \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-amd64 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-arm64v8 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv7 \ | |
${{ env.IMAGE_NAME }}:${{ env.CLI_VERSION }}-linux-armv6 | |
- name: push manifest for latest version | |
run: | | |
DOCKER_CLI_EXPERIMENTAL=enabled \ | |
docker manifest push ${{ env.IMAGE_NAME }}:latest |