Merge pull request #229 from 4n4n4s/docker
Allow forks to publish docker images
This commit is contained in:
commit
5fda138d8d
3 changed files with 27 additions and 13 deletions
|
|
@ -4,3 +4,5 @@ data
|
||||||
.gitignore
|
.gitignore
|
||||||
**Dockerfile**
|
**Dockerfile**
|
||||||
.dockerignore
|
.dockerignore
|
||||||
|
|
||||||
|
.github
|
||||||
|
|
|
||||||
32
.github/workflows/docker.yml
vendored
32
.github/workflows/docker.yml
vendored
|
|
@ -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
6
CONTRIBUTING.md
Normal 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.
|
||||||
Loading…
Add table
Add a link
Reference in a new issue