name: build-image
on:
workflow_dispatch: {}
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
permissions:
contents: write
packages: write
pull-requests: write
jobs:
build-image:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: get CI image hash
id: hash
run: |
set -uexo pipefail
echo "value=${{ hashFiles('.github/Dockerfile') }}" >> $GITHUB_OUTPUT
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .github/
file: .github/Dockerfile
push: true
tags: ghcr.io/samcday/phrog-ci:${{ steps.hash.outputs.value }}
cache-from: type=gha
cache-to: type=gha,mode=max