Files
Vocard/.github/workflows/docker-image.yml
2025-06-16 10:08:49 +08:00

45 lines
1.2 KiB
YAML

name: Docker Image CI
on:
push:
tags:
- '*' # Trigger on any tag
branches:
- main # Trigger on push to main branch
- beta # Trigger on push to beta branch
paths-ignore:
- '**.md'
permissions:
packages: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build the Docker image
run: |
if [[ $GITHUB_REF == refs/tags/* ]]; then
TAG=${GITHUB_REF#refs/tags/}
IMAGE_NAME="ghcr.io/chocomeow/vocard:${TAG}"
elif [[ $GITHUB_REF == refs/heads/beta ]]; then
IMAGE_NAME="ghcr.io/chocomeow/vocard:beta"
else
IMAGE_NAME="ghcr.io/chocomeow/vocard:latest"
fi
echo "Building image: $IMAGE_NAME"
docker build . --file Dockerfile --tag $IMAGE_NAME
- name: Log in to GitHub Docker Registry
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
- name: Push the Docker image
run: |
echo "Pushing image: $IMAGE_NAME"
docker push $IMAGE_NAME