Skip to content

ci: trigger workflow on changes to its own definition #5

ci: trigger workflow on changes to its own definition

ci: trigger workflow on changes to its own definition #5

name: Build and Push Docker Image
on:
push:
branches: [ main ]
paths:
- 'caddy/Dockerfile'
- '.github/workflows/caddy-build-push.yml'
pull_request:
branches: [ main ]
paths:
- 'caddy/Dockerfile'
- '.github/workflows/caddy-build-push.yml'
workflow_dispatch: # Allow manual triggering
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- uses: actions/checkout@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get Caddy version
id: caddy_version
run: |
CADDY_VERSION=$(docker run --rm caddy:2-alpine caddy version | cut -d ' ' -f 1)
echo "version=${CADDY_VERSION}" >> $GITHUB_OUTPUT
echo "CADDY_VERSION=${CADDY_VERSION}" >> $GITHUB_ENV
- name: Build and push
uses: docker/build-push-action@v2
with:
context: ./caddy
file: ./caddy/Dockerfile
push: true
tags: |
ghcr.io/${{ github.repository_owner }}/caddy:latest
ghcr.io/${{ github.repository_owner }}/caddy:2
ghcr.io/${{ github.repository_owner }}/caddy:2.${{ env.CADDY_VERSION }}