Skip to content

Rubocop: disable Rails/I18nLocaleTexts #3082

Rubocop: disable Rails/I18nLocaleTexts

Rubocop: disable Rails/I18nLocaleTexts #3082

Workflow file for this run

# On every commit, build and push a Docker image to the GitHub Container
# registry and to DockerHub.
#
# The resulting Docker images are tagged with the full commit hash, the git
# branch name, the git tag, and the 'latest' tag for the latest commit to
# master.
#
# https://github.com/danbooru/danbooru/pkgs/container/danbooru
# https://hub.docker.com/r/evazion/danbooru
#
# https://docs.github.com/en/packages/working-with-a-github-packages-registry/working-with-the-container-registry
# https://docs.github.com/en/packages/managing-github-packages-using-github-actions-workflows/publishing-and-installing-a-package-with-github-actions
# https://docs.github.com/en/actions/guides/publishing-docker-images
name: Docker Build
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows
on:
push:
create:
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: "Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)"
required: false
default: false
# https://docs.github.com/en/actions/reference/authentication-in-a-workflow#permissions-for-the-github_token
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idpermissions
permissions:
packages: write
jobs:
docker-build:
runs-on: ubuntu-latest
steps:
# https://github.com/docker/setup-qemu-action
# https://github.com/docker/setup-buildx-action#with-qemu
#- name: Set up QEMU
# uses: docker/setup-qemu-action@v1
# with:
# platforms: arm64
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
with:
config-inline: |
[worker.oci]
max-parallelism = 2
# https://github.com/docker/login-action
# https://github.com/docker/build-push-action/blob/master/docs/advanced/push-multi-registries.md
- name: Login to Github Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ github.token }}
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
# Generate Docker tags from Git tags.
# https://github.com/docker/metadata-action
- name: Generate Docker tags
uses: docker/metadata-action@v5
id: metadata
with:
images: |
docker.io/evazion/danbooru
ghcr.io/danbooru/danbooru
tags: |
type=sha,format=long,prefix=
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
# Tag `latest` on every commit pushed to master
# https://github.com/docker/metadata-action/issues/112
flavor: |
latest=${{ github.ref == 'refs/heads/master' }}
# https://github.com/docker/build-push-action
- name: Build image
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ steps.metadata.outputs.tags }}
labels: ${{ steps.metadata.outputs.labels }}
#platforms: linux/amd64,linux/arm64
platforms: linux/amd64
target: production
# https://github.com/docker/build-push-action/blob/master/docs/advanced/cache.md#registry-cache
# https://dev.to/pst418/speed-up-multi-stage-docker-builds-in-ci-cd-with-buildkit-s-registry-cache-11gi
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache
cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache,mode=max
build-args: |
DOCKER_IMAGE_REVISION=${{ github.sha }}
DOCKER_IMAGE_BUILD_DATE=${{ fromJSON(steps.metadata.outputs.json).labels['org.opencontainers.image.created'] }}
# Generate Docker tags from Git tags for the development image.
- name: Generate Docker tags for development image
uses: docker/metadata-action@v5
id: development-metadata
with:
images: |
docker.io/evazion/danbooru
ghcr.io/danbooru/danbooru
tags: |
type=sha,format=long,prefix=development-
type=ref,event=branch,prefix=development-
type=ref,event=tag,prefix=development-
type=ref,event=pr,prefix=development-
type=raw,value=development,enable={{is_default_branch}}
flavor: |
latest=false
# https://github.com/docker/build-push-action
- name: Build development image
uses: docker/build-push-action@v5
with:
push: true
tags: ${{ steps.development-metadata.outputs.tags }}
labels: ${{ steps.development-metadata.outputs.labels }}
#platforms: linux/amd64,linux/arm64
platforms: linux/amd64
target: development
# https://github.com/docker/build-push-action/blob/master/docs/advanced/cache.md#registry-cache
# https://dev.to/pst418/speed-up-multi-stage-docker-builds-in-ci-cd-with-buildkit-s-registry-cache-11gi
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache
cache-to: type=registry,ref=ghcr.io/${{ github.repository }}:buildcache,mode=max
build-args: |
DOCKER_IMAGE_REVISION=${{ github.sha }}
DOCKER_IMAGE_BUILD_DATE=${{ fromJSON(steps.development-metadata.outputs.json).labels['org.opencontainers.image.created'] }}
# https://github.com/marketplace/actions/debugging-with-ssh
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
if: ${{ always() && (github.event_name == 'workflow_dispatch' && inputs.debug_enabled) }}
with:
limit-access-to-actor: true