Fix Docker workflow not pushing on manual trigger

Also fix issue where workflow fails on pull requests when the
user who made the pull request doesn't have the secrets set.
Also allow other workflows to be triggered manually.
Also don't trigger any workflows on pull requests to master, as
there shouldn't be any pull requests against master.
This commit is contained in:
Finlay Davidson 2022-07-10 16:46:24 +02:00 committed by JF
parent 2497749715
commit fdad3fc985
4 changed files with 16 additions and 10 deletions

View file

@ -15,11 +15,13 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env:
USERNAME: infinitime
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Log in to Docker Hub - name: Log in to Docker Hub
if: github.event_name == 'push' if: github.event_name != 'pull_request'
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with:
username: ${{ secrets.DOCKER_HUB_LOGIN_USERNAME }} username: ${{ secrets.DOCKER_HUB_LOGIN_USERNAME }}
@ -30,7 +32,7 @@ jobs:
uses: docker/metadata-action@v4 uses: docker/metadata-action@v4
with: with:
images: | images: |
${{ secrets.DOCKER_HUB_IMAGE_USERNAME }}/infinitime-build ${{ secrets.DOCKER_HUB_IMAGE_USERNAME || env.USERNAME }}/infinitime-build
tags: | tags: |
type=sha type=sha
type=raw,value=latest type=raw,value=latest
@ -43,7 +45,7 @@ jobs:
uses: docker/setup-buildx-action@v2 uses: docker/setup-buildx-action@v2
- name: Build and push - name: Build and push
if: github.event_name == 'push' if: github.event_name != 'pull_request'
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ./docker/ context: ./docker/
@ -53,11 +55,11 @@ jobs:
push: true push: true
tags: ${{ steps.meta.outputs.tags }} tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }} labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME }}/infinitime-build:buildcache cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME || env.USERNAME }}/infinitime-build:buildcache
cache-to: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME }}/infinitime-build:buildcache,mode=max cache-to: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME || env.USERNAME }}/infinitime-build:buildcache,mode=max
- name: Build - name: Build
if: github.event_name != 'push' if: github.event_name == 'pull_request'
uses: docker/build-push-action@v3 uses: docker/build-push-action@v3
with: with:
context: ./docker/ context: ./docker/
@ -65,4 +67,4 @@ jobs:
platforms: linux/amd64,linux/arm64 platforms: linux/amd64,linux/arm64
builder: ${{ steps.buildx.outputs.name }} builder: ${{ steps.buildx.outputs.name }}
push: false push: false
cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME }}/infinitime-build:buildcache cache-from: type=registry,ref=${{ secrets.DOCKER_HUB_IMAGE_USERNAME || env.USERNAME }}/infinitime-build:buildcache

View file

@ -2,7 +2,7 @@ name: Code formatting
on: on:
pull_request: pull_request:
branches: [ master, develop ] branches: [ develop ]
paths: paths:
- '**.cpp' - '**.cpp'
- '**.h' - '**.h'

View file

@ -9,10 +9,12 @@ on:
- 'doc/**' - 'doc/**'
- 'images/**' - 'images/**'
pull_request: pull_request:
branches: [ master, develop ] branches: [ develop ]
paths-ignore: paths-ignore:
- 'doc/**' - 'doc/**'
- 'images/**' - 'images/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs: jobs:
build: build:

View file

@ -12,10 +12,12 @@ on:
- 'doc/**' - 'doc/**'
- 'images/**' - 'images/**'
pull_request: pull_request:
branches: [ master, develop ] branches: [ develop ]
paths-ignore: paths-ignore:
- 'doc/**' - 'doc/**'
- 'images/**' - 'images/**'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs: jobs:
build: build: