Skip to content

Merge pull request #34 from GiganticMinecraft/renovate/docker-build-p… #19

Merge pull request #34 from GiganticMinecraft/renovate/docker-build-p…

Merge pull request #34 from GiganticMinecraft/renovate/docker-build-p… #19

name: Build and publish seichiassist-builder docker image
on:
push:
branches:
- main
paths:
- 'seichiassist-builder/**'
- '.github/workflows/publish-seichiassist-builder.yml'
jobs:
build-and-push:
runs-on: ubuntu-latest
env:
image_name: seichiassist-builder
# 参考: https://qiita.com/kawakawaryuryu/items/b0291c1bc1141a535263
steps:
- name: Checkout code
uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac # v4
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- id: prepare_image_id
name: Prepare image id's components
run: |
lowercase_id=ghcr.io/${{ github.repository_owner }}/${{ env.image_name }}
echo "::set-output name=lowercase_id::$(echo $lowercase_id | tr '[A-Z]' '[a-z]')"
echo "::set-output name=short-ref::$(git rev-parse --short "$GITHUB_SHA")"
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v5
with:
context: ./seichiassist-builder
builder: ${{ steps.buildx.outputs.name }}
push: true
tags: |
${{ steps.prepare_image_id.outputs.lowercase_id }}:latest
${{ steps.prepare_image_id.outputs.lowercase_id }}:${{ steps.prepare_image_id.outputs.short-ref }}
cache-from: type=gha
# すべてのビルドステージのすべてのレイヤーをキャッシュして欲しいのでmode=max
cache-to: type=gha,mode=max