Skip to content

Commit 5fa1210

Browse files
authored
Push to Docker Hub (#44)
1 parent 4111bc0 commit 5fa1210

1 file changed

Lines changed: 38 additions & 6 deletions

File tree

.github/workflows/unit_tests.yaml

Lines changed: 38 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
name: Busted test suite
22

3-
on: [push, pull_request]
3+
on:
4+
push:
5+
pull_request:
6+
release:
7+
types: [published]
48

59
jobs:
610
build-and-test:
@@ -17,8 +21,8 @@ jobs:
1721
- name: Set up Docker Buildx
1822
uses: docker/setup-buildx-action@v3
1923

20-
- name: Extract container metadata
21-
id: meta
24+
- name: Extract GHCR metadata
25+
id: ghcr_meta
2226
if: github.event_name == 'push' && github.repository == 'koreader/koreader-sync-server'
2327
uses: docker/metadata-action@v5
2428
with:
@@ -28,13 +32,24 @@ jobs:
2832
type=ref,event=tag
2933
type=sha,prefix=sha-
3034
35+
- name: Extract Docker Hub metadata
36+
id: dockerhub_meta
37+
if: (startsWith(github.ref, 'refs/tags/') || github.event_name == 'release') && github.repository == 'koreader/koreader-sync-server'
38+
uses: docker/metadata-action@v5
39+
with:
40+
images: koreader/kosync
41+
tags: |
42+
type=ref,event=tag
43+
type=raw,value=${{ github.event.release.tag_name }},enable=${{ github.event_name == 'release' }}
44+
type=raw,value=latest,enable=${{ github.event_name == 'release' }}
45+
3146
- name: Build image
3247
uses: docker/build-push-action@v5
3348
with:
3449
context: .
3550
push: false
3651
load: true
37-
labels: ${{ steps.meta.outputs.labels }}
52+
labels: ${{ steps.ghcr_meta.outputs.labels || steps.dockerhub_meta.outputs.labels }}
3853
tags: |
3954
koreader/kosync:test
4055
koreader/kosync:latest
@@ -52,7 +67,7 @@ jobs:
5267
5368
- name: Log in to GitHub Container Registry
5469
if: github.event_name == 'push' && github.repository == 'koreader/koreader-sync-server'
55-
uses: docker/login-action@v3
70+
uses: docker/login-action@v4
5671
with:
5772
registry: ghcr.io
5873
username: ${{ github.actor }}
@@ -65,5 +80,22 @@ jobs:
6580
docker tag koreader/kosync:test "$tag"
6681
docker push "$tag"
6782
done <<'EOF'
68-
${{ steps.meta.outputs.tags }}
83+
${{ steps.ghcr_meta.outputs.tags }}
84+
EOF
85+
86+
- name: Log in to Docker Hub
87+
if: (startsWith(github.ref, 'refs/tags/') || github.event_name == 'release') && github.repository == 'koreader/koreader-sync-server'
88+
uses: docker/login-action@v4
89+
with:
90+
username: frenzie
91+
password: ${{ secrets.DOCKERHUB_TOKEN }}
92+
93+
- name: Push Docker Hub image
94+
if: (startsWith(github.ref, 'refs/tags/') || github.event_name == 'release') && github.repository == 'koreader/koreader-sync-server'
95+
run: |
96+
while IFS= read -r tag; do
97+
docker tag koreader/kosync:test "$tag"
98+
docker push "$tag"
99+
done <<'EOF'
100+
${{ steps.dockerhub_meta.outputs.tags }}
69101
EOF

0 commit comments

Comments
 (0)