Skip to content

Publish image builds to Docker Hub #3

Publish image builds to Docker Hub

Publish image builds to Docker Hub #3

Workflow file for this run

name: 'Publish image builds to Docker Hub'
on:
push:
tags: [ 'v*' ]
jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout latest
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: seart
password: ${{ secrets.DOCKERHUB_TOKEN }}
- id: meta
name: Extract metadata for Docker
uses: actions/github-script@v7
with:
script: |
const name = context.repo.repo
const patch = context.ref.substring(11)
const parts = patch.split('.')
const minor = `${parts[0]}.${parts[1]}`
const major = parts[0]
core.setOutput('repo-name', name)
core.setOutput('tag-patch', patch)
core.setOutput('tag-minor', minor)
core.setOutput('tag-major', major)
- name: Build and push image
uses: docker/build-push-action@v5
with:
push: true
tags: |
seart/${{ steps.meta.outputs.repo-name }}:latest
seart/${{ steps.meta.outputs.repo-name }}:${{ steps.meta.outputs.tag-major }}
seart/${{ steps.meta.outputs.repo-name }}:${{ steps.meta.outputs.tag-minor }}
seart/${{ steps.meta.outputs.repo-name }}:${{ steps.meta.outputs.tag-patch }}