Allow forks to create builds and fix failing build

This commit is contained in:
4n4n4s 2023-10-27 11:37:32 +00:00
parent d318a57be1
commit 1dbe2f1457
3 changed files with 27 additions and 13 deletions

View file

@ -4,3 +4,5 @@ data
.gitignore .gitignore
**Dockerfile** **Dockerfile**
.dockerignore .dockerignore
.github

View file

@ -3,15 +3,15 @@ name: Build and push Docker image (amd64, arm64 to hub.docker.com and ghcr.io)
on: on:
workflow_dispatch: # allow manual trigger workflow_dispatch: # allow manual trigger
# https://github.com/orgs/community/discussions/26276 # https://github.com/orgs/community/discussions/26276
push: # on every branch, but not for PRs from forks? push:
paths:
- '**'
- '!README.md'
- '!.github/**'
- '.github/workflows/docker.yml'
pull_request: # includes PRs from forks but only triggers on creation, not pushes?
branches: branches:
- "main" # only PRs against main - "main"
- "v*"
tags:
- "v*"
pull_request:
branches:
- "main"
jobs: jobs:
docker: docker:
@ -25,6 +25,11 @@ jobs:
run: | run: |
echo "BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV echo "BRANCH=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
echo "NOW=$(date -R)" >> $GITHUB_ENV # date -Iseconds; date +'%Y-%m-%dT%H:%M:%S' echo "NOW=$(date -R)" >> $GITHUB_ENV # date -Iseconds; date +'%Y-%m-%dT%H:%M:%S'
if [[ "${{ env.BRANCH }}" == "main" ]]; then
echo "IMAGE_TAG=latest" >> $GITHUB_ENV
else
echo "IMAGE_TAG=${GITHUB_REF#refs/heads/}" >> $GITHUB_ENV
fi
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v3 uses: docker/setup-qemu-action@v3
@ -34,7 +39,7 @@ jobs:
- -
name: Login to Docker Hub name: Login to Docker Hub
uses: docker/login-action@v3 uses: docker/login-action@v3
# if: ${{ secrets.DOCKERHUB_USERNAME && secrets.DOCKERHUB_TOKEN }} if: github.event_name != 'pull_request'
with: with:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
@ -43,21 +48,22 @@ jobs:
uses: docker/login-action@v3 uses: docker/login-action@v3
with: with:
registry: ghcr.io registry: ghcr.io
username: ${{ github.repository_owner }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- -
name: Build and push name: Build and push
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
if: github.event_name != 'pull_request'
with: with:
context: . context: .
push: true push: ${{ github.event_name != 'pull_request' }}
build-args: | build-args: |
COMMIT=${{ github.sha }} COMMIT=${{ github.sha }}
BRANCH=${{ env.BRANCH }} BRANCH=${{ env.BRANCH }}
NOW=${{ env.NOW }} NOW=${{ env.NOW }}
platforms: linux/amd64,linux/arm64 # ,linux/arm/v7 platforms: linux/amd64,linux/arm64 # ,linux/arm/v7
tags: | tags: |
voglerr/free-games-claimer:latest ${{ secrets.DOCKERHUB_USERNAME }}/free-games-claimer:${{env.IMAGE_TAG}}
ghcr.io/vogler/free-games-claimer:latest ghcr.io/${{ github.actor }}/free-games-claimer:${{env.IMAGE_TAG}}
cache-from: type=gha cache-from: type=gha
cache-to: type=gha,mode=max cache-to: type=gha,mode=max

6
CONTRIBUTING.md Normal file
View file

@ -0,0 +1,6 @@
# Contribute
## Building and publishing docker images
Setup the secrets for DOCKERHUB_USERNAME and [DOCKERHUB_TOKEN](https://hub.docker.com/settings/security) in https://github.com/YOUR_USERNAME/free-games-claimer/settings/secrets/actions to be able to run the docker.yml workflows.
Check if under Workflow Permissions in https://github.com/YOUR_USERNAME/free-games-claimer/settings/actions the radio button is set to "Read and write permissions". In case that's not set the push to ghcr.io will fail.