This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Push SDK Proto Builder | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- "contrib/devtools/Dockerfile" | |
workflow_dispatch: | |
inputs: | |
tags: | |
description: "Docker image tags" | |
required: true | |
type: string | |
pull_request: | |
paths: | |
- "contrib/devtools/Dockerfile" | |
env: | |
REGISTRY: ghcr.io | |
IMAGE_NAME: cosmos/proto-builder | |
# Allow one concurrent deployment | |
concurrency: | |
group: "proto-docker" | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
packages: write | |
steps: | |
# set VERSION to new version when making changes, when merged to main the image will automatically be pushed | |
- uses: actions/checkout@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v2 | |
- name: Extract metadata (tags, labels) for Docker | |
id: meta | |
uses: docker/metadata-action@57396166ad8aefe6098280995947635806a0e6ea | |
with: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | |
# modify value when deploying a new version | |
tags: | | |
type=semver,pattern={{version}},value=${{ inputs.tags }} | |
- name: Login to GitHub Container Registry | |
uses: docker/login-action@v2 | |
if: ${{ github.event_name != 'pull_request' }} | |
with: | |
registry: ${{ env.REGISTRY }} | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Publish to GHCR | |
uses: docker/build-push-action@v4 | |
with: | |
context: ./contrib/devtools | |
platforms: linux/amd64,linux/arm64 | |
push: ${{ github.event_name != 'pull_request' }} | |
tags: ${{ steps.meta.outputs.tags }} | |
labels: ${{ steps.meta.outputs.labels }} |