Merge branch 'unstable' for release v1.8.4 #396
This file contains hidden or 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
# .github/docker-image.yml | |
name: Docker Image Build and Push | |
on: | |
push: | |
branches: | |
- "stable" # For 'latest' and 'stable' tags | |
- "unstable" # For 'unstable' tag | |
tags: | |
- "v*.*.*" # Trigger on semantic version tags like v1.2.3 | |
- "v*.*.*-*" # Trigger on pre-release semver tags like v1.2.3-beta.1 | |
pull_request: | |
branches: | |
- "stable" | |
- "unstable" | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Log in to Docker Hub | |
if: github.event_name == 'push' | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Extract Docker metadata | |
id: meta | |
uses: docker/metadata-action@v5 | |
with: | |
images: alplat/dockflare | |
tags: | | |
# For Git tags like v1.2.3 -> image tag 1.2.3 | |
type=semver,pattern={{version}} | |
# For Git tags like v1.2.3-beta.1 -> image tag 1.2.3-beta.1 | |
type=semver,pattern={{version}},suffix=-{{premajor}}-{{prerelease}} | |
# For stable branch -> image tag 'latest' and 'stable' (if you want 'stable' too) | |
type=ref,event=branch,pattern=stable,value=latest | |
type=ref,event=branch,pattern=stable,value=stable # Optional: if you want an explicit 'stable' tag | |
# For unstable branch -> image tag 'unstable' | |
type=ref,event=branch,pattern=unstable,value=unstable | |
# For all pushes, create a SHA tag | |
type=sha,format=short | |
# Add a tag for the Git ref (branch name or tag name) itself | |
type=ref,event=tag | |
type=ref,event=branch | |
- name: Build and Push Docker Image | |
id: build_and_push | |
uses: docker/build-push-action@v5 | |
with: | |
context: ./dockflare | |
platforms: ${{ (github.ref_name == 'unstable' || (github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && contains(github.ref, '-'))) && 'linux/amd64' || 'linux/amd64,linux/arm64' }} | |
push: ${{ github.event_name == 'push' }} | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |