mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 06:15:33 +00:00
This pull request aims to make it possible to generate, format, and lint the protos within this repo. To accomplish that end, the Dockerfile containing common tools for building the tendermint protos has been moved into this repository and several accompanying changes were made to streamline the proto generation process.
61 lines
1.8 KiB
YAML
61 lines
1.8 KiB
YAML
# This workflow (re)builds and pushes a Docker image containing the
|
|
# protobuf build tools used by the other workflows.
|
|
#
|
|
# When making changes that require updates to the builder image, you
|
|
# should merge the updates first and wait for this workflow to complete,
|
|
# so that the changes will be available for the dependent workflows.
|
|
#
|
|
# TODO(#7272): Update the target location of the builder image.
|
|
|
|
name: Build & Push TM Proto Builder
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- "proto/*"
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- "proto/*"
|
|
schedule:
|
|
# run this job once a month to recieve any go or buf updates
|
|
- cron: "* * 1 * *"
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2.4.0
|
|
- name: Prepare
|
|
id: prep
|
|
run: |
|
|
DOCKER_IMAGE=tendermintdev/docker-build-proto
|
|
VERSION=noop
|
|
if [[ $GITHUB_REF == refs/tags/* ]]; then
|
|
VERSION=${GITHUB_REF#refs/tags/}
|
|
elif [[ $GITHUB_REF == refs/heads/* ]]; then
|
|
VERSION=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
|
|
if [ "${{ github.event.repository.default_branch }}" = "$VERSION" ]; then
|
|
VERSION=latest
|
|
fi
|
|
fi
|
|
TAGS="${DOCKER_IMAGE}:${VERSION}"
|
|
echo ::set-output name=tags::${TAGS}
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v1.6.0
|
|
|
|
- name: Login to DockerHub
|
|
uses: docker/login-action@v1.10.0
|
|
with:
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Publish to Docker Hub
|
|
uses: docker/build-push-action@v2.7.0
|
|
with:
|
|
context: ./proto
|
|
file: ./proto/Dockerfile
|
|
push: ${{ github.event_name != 'pull_request' }}
|
|
tags: ${{ steps.prep.outputs.tags }}
|