mirror of
https://github.com/grocy/grocy.git
synced 2026-03-27 23:29:25 +01:00
This change updates the GitHub Actions workflow to implement a versioned Docker tagging strategy, as requested. - The workflow now reads the version from `version.json`. - It generates semantic version tags (e.g., `v4.5.0`, `v4.5`, `v4`) for the Docker image, in addition to the `latest` tag. - This makes the image tagging consistent with the practices of `linuxserver/grocy`.
43 lines
1.2 KiB
YAML
43 lines
1.2 KiB
YAML
name: Docker Publish
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@v2
|
|
with:
|
|
username: ${{ secrets.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: Get version
|
|
id: version
|
|
run: echo "tag=$(jq -r .Version < version.json)" >> $GITHUB_OUTPUT
|
|
|
|
- name: Extract metadata (tags, labels) for Docker
|
|
id: meta
|
|
uses: docker/metadata-action@v4
|
|
with:
|
|
images: nishizhen/anticlockwisegrocy
|
|
tags: |
|
|
type=raw,value=latest,enable={{is_default_branch}}
|
|
type=semver,pattern={{version}},value=v${{ steps.version.outputs.tag }}
|
|
type=semver,pattern={{major}}.{{minor}},value=v${{ steps.version.outputs.tag }}
|
|
type=semver,pattern={{major}},value=v${{ steps.version.outputs.tag }}
|
|
|
|
- name: Build and push Docker image
|
|
uses: docker/build-push-action@v4
|
|
with:
|
|
context: .
|
|
push: true
|
|
tags: ${{ steps.meta.outputs.tags }}
|
|
labels: ${{ steps.meta.outputs.labels }}
|