name: Publish Container on: push: branches: - main pull_request: schedule: - cron: "0 0 * * 0" jobs: publish: name: Publish rfd-fyi runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - name: Prepare id: prep run: | IMAGE_NAME=ghcr.io/${{ github.repository_owner }}/rfd-fyi VERSION=${GITHUB_REF##*/} if [[ $GITHUB_REF == refs/heads/main ]]; then VERSION=latest fi if [[ $GITHUB_REF == refs/tags/* ]]; then VERSION=${GITHUB_REF#refs/tags/v} fi TAGS="${IMAGE_NAME}:${VERSION}" if [[ $VERSION =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then TAGS="$TAGS,${IMAGE_NAME}:latest" fi echo "tags=${TAGS}" >> $GITHUB_OUTPUT - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to GitHub Packages Docker Registry uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Build / push uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile push: ${{ github.ref == 'refs/heads/main' }} tags: ${{ steps.prep.outputs.tags }}