Skip to content

Docker Nightly Image CI #988

Docker Nightly Image CI

Docker Nightly Image CI #988

name: Docker Nightly Image CI
on:
schedule:
- cron: "0 1 * * *"
workflow_dispatch:
inputs:
repository:
description: "GitHub repository to create image off."
required: true
default: "saurabharch/rollout"
branch:
description: "GitHub branch to create image off."
required: true
default: "master"
tag:
description: "Name of the docker tag to create."
required: true
default: "nightly"
merge-master:
description: "Merge with master."
type: boolean
required: true
default: false
success-url:
description: "URL to call after Docker Image got built successfully."
required: false
default: ""
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
repository: ${{ github.event.inputs.repository || 'saurabharch/rollout' }}
ref: ${{ github.event.inputs.branch || 'master' }}
- name: Set up QEMU for Docker Build
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_SECRET }}
- name: Merge Master - optionally
run: |
[[ "${{github.event.inputs.merge-master}}" == "true" ]] && git remote add upstream https://github.com/saurabharch/rollout.git -f; git merge upstream/master --allow-unrelated-histories || echo ""
shell: bash
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: saurabharch/rollout:${{ github.event.inputs.tag || 'nightly' }}
- name: Call Success URL - optionally
run: |
[[ "${{github.event.inputs.success-url}}" != "" ]] && curl -v ${{github.event.inputs.success-url}} || echo ""
shell: bash