Skip to content

Docker Publish

Docker Publish #6

name: Docker Publish
on:
workflow_run:
workflows: ["CI"]
types: [completed]
permissions:
contents: read
env:
IMAGE_NAME: html2rss/botasaurus-scrape-api
jobs:
docker-publish:
name: Build and publish Docker image
if: >-
github.event.workflow_run.conclusion == 'success' &&
github.event.workflow_run.event == 'push' &&
github.event.workflow_run.head_branch == 'main'
runs-on: ubuntu-latest
steps:
- name: Check out repository at triggering commit
uses: actions/checkout@v6
with:
ref: ${{ github.event.workflow_run.head_sha }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push multi-arch image
uses: docker/build-push-action@v7
with:
context: .
push: true
platforms: linux/amd64,linux/arm64
tags: |
${{ env.IMAGE_NAME }}:latest
${{ env.IMAGE_NAME }}:${{ github.event.workflow_run.head_sha }}
labels: |
org.opencontainers.image.source=https://github.com/${{ github.repository }}
org.opencontainers.image.revision=${{ github.event.workflow_run.head_sha }}
org.opencontainers.image.title=botasaurus-scrape-api
org.opencontainers.image.description=Botasaurus scrape API image