Skip to content

patchwork dashboard staging setup #1

patchwork dashboard staging setup

patchwork dashboard staging setup #1

# on:
# workflow_call:
# inputs:
# platforms:
# required: true
# type: string
# cache:
# type: boolean
# default: true
# use_native_arm64_builder:
# type: boolean
# push_to_images:
# type: string
# version_prerelease:
# type: string
# version_metadata:
# type: string
# flavor:
# type: string
# tags:
# type: string
# labels:
# type: string
# file_to_build:
# type: string
# jobs:
# build-image:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
# - uses: docker/setup-qemu-action@v3
# if: contains(inputs.platforms, 'linux/arm64') && !inputs.use_native_arm64_builder
# - uses: docker/setup-buildx-action@v3
# id: buildx
# if: ${{ !(inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')) }}
# - name: Start a local Docker Builder
# if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
# run: |
# docker run --rm -d --name buildkitd -p 1234:1234 --privileged moby/buildkit:latest --addr tcp://0.0.0.0:1234
# - uses: docker/setup-buildx-action@v3
# id: buildx-native
# if: inputs.use_native_arm64_builder && contains(inputs.platforms, 'linux/arm64')
# with:
# driver: remote
# endpoint: tcp://localhost:1234
# platforms: linux/amd64
# append: |
# - endpoint: tcp://${{ vars.DOCKER_BUILDER_HETZNER_ARM64_01_HOST }}:13865
# platforms: linux/arm64
# name: mastodon-docker-builder-arm64-01
# driver-opts:
# - servername=mastodon-docker-builder-arm64-01
# env:
# BUILDER_NODE_1_AUTH_TLS_CACERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CACERT }}
# BUILDER_NODE_1_AUTH_TLS_CERT: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_CERT }}
# BUILDER_NODE_1_AUTH_TLS_KEY: ${{ secrets.DOCKER_BUILDER_HETZNER_ARM64_01_KEY }}
# - name: Log in to Docker Hub
# if: contains(inputs.push_to_images, 'tootsuite')
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKERHUB_USERNAME }}
# password: ${{ secrets.DOCKERHUB_TOKEN }}
# - name: Log in to the Github Container registry
# if: contains(inputs.push_to_images, 'ghcr.io')
# uses: docker/login-action@v3
# with:
# registry: ghcr.io
# username: ${{ github.actor }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - uses: docker/metadata-action@v5
# id: meta
# if: ${{ inputs.push_to_images != '' }}
# with:
# images: ${{ inputs.push_to_images }}
# flavor: ${{ inputs.flavor }}
# tags: ${{ inputs.tags }}
# labels: ${{ inputs.labels }}
# - uses: docker/build-push-action@v5
# with:
# context: .
# file: ${{ inputs.file_to_build }}
# build-args: |
# MASTODON_VERSION_PRERELEASE=${{ inputs.version_prerelease }}
# MASTODON_VERSION_METADATA=${{ inputs.version_metadata }}
# platforms: ${{ inputs.platforms }}
# provenance: false
# builder: ${{ steps.buildx.outputs.name || steps.buildx-native.outputs.name }}
# push: ${{ inputs.push_to_images != '' }}
# tags: ${{ steps.meta.outputs.tags }}
# labels: ${{ steps.meta.outputs.labels }}
# cache-from: ${{ inputs.cache && 'type=gha' || '' }}
# cache-to: ${{ inputs.cache && 'type=gha,mode=max' || '' }}