57 строки
1.8 KiB
YAML
57 строки
1.8 KiB
YAML
# .github/workflows/dispatch-build.yml
|
|
name: Build & Push New Golang Docker Build Server Image
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
branch:
|
|
description: 'Git branch or PR ref to build'
|
|
required: true
|
|
tag:
|
|
description: 'Docker image tag (e.g. v1.2.3 or latest)'
|
|
required: true
|
|
|
|
jobs:
|
|
build-and-push:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #4.2.2
|
|
with:
|
|
ref: ${{ github.event.inputs.branch }}
|
|
|
|
- name: Set up QEMU (optional, for multi-arch)
|
|
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@f7ce87c1d6bead3e36075b2ce75da1f6cc28aaca
|
|
|
|
- name: Login to DockerHub (development repo)
|
|
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
|
|
with:
|
|
registry: docker.io
|
|
username: ${{ secrets.DOCKERHUB_DEV_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_DEV_TOKEN }}
|
|
|
|
- name: Build & push development image
|
|
run: |
|
|
docker buildx build \
|
|
--tag mattermostdevelopment/mattermost-build-server:${{ github.event.inputs.tag }} \
|
|
--push \
|
|
-f Dockerfile.buildenv .
|
|
|
|
- name: Login to DockerHub (production repo)
|
|
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772
|
|
with:
|
|
registry: docker.io
|
|
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
|
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
|
|
|
- name: Build & push production image
|
|
run: |
|
|
docker buildx build \
|
|
--tag mattermost/mattermost-build-server:${{ github.event.inputs.tag }} \
|
|
--push \
|
|
-f Dockerfile.buildenv .
|