Skip to content

Commit a0a5277

Browse files
committed
Artifact built
1 parent af0e350 commit a0a5277

File tree

2 files changed

+93
-0
lines changed

2 files changed

+93
-0
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build and Push Docker Images
2+
3+
on:
4+
push:
5+
branches: [main]
6+
tags:
7+
- 'v*.*.*'
8+
9+
env:
10+
REGISTRY_GHCR: ghcr.io
11+
IMAGE_PREFIX: nesohq/nesohq
12+
13+
jobs:
14+
build-and-push:
15+
if: github.event_name != 'pull_request'
16+
permissions:
17+
contents: read
18+
packages: write
19+
uses: ./.github/workflows/docker-build.yml
20+
secrets: inherit

.github/workflows/docker-build.yml

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Docker Build and Push
2+
3+
on:
4+
workflow_call:
5+
secrets:
6+
DOCKERHUB_USERNAME:
7+
required: false
8+
DOCKERHUB_TOKEN:
9+
required: false
10+
11+
env:
12+
REGISTRY_GHCR: ghcr.io
13+
IMAGE_PREFIX: nesohq/nesohq
14+
15+
jobs:
16+
build:
17+
runs-on: ubuntu-latest
18+
if: inputs.should-build
19+
20+
permissions:
21+
contents: read
22+
packages: write
23+
24+
steps:
25+
- name: 📥 Checkout code
26+
uses: actions/checkout@v4
27+
28+
- name: 🔧 Set up Docker Buildx
29+
uses: docker/setup-buildx-action@v3
30+
31+
- name: 🔐 Login to registries
32+
uses: ./.github/actions/docker-login
33+
with:
34+
ghcr-token: ${{ secrets.GITHUB_TOKEN }}
35+
ghcr-username: ${{ github.actor }}
36+
# Uncomment to enable Docker Hub
37+
# dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
38+
# dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
39+
40+
- name: 🏷️ Extract metadata
41+
id: meta
42+
uses: ./.github/actions/docker-metadata
43+
with:
44+
service: ${{ inputs.service }}
45+
registry: ${{ env.REGISTRY_GHCR }}
46+
image-prefix: ${{ env.IMAGE_PREFIX }}
47+
48+
- name: 🐳 Build and push Docker image
49+
uses: docker/build-push-action@v5
50+
with:
51+
context: ./${{ inputs.service }}
52+
file: ./${{ inputs.service }}/Dockerfile
53+
push: true
54+
tags: ${{ steps.meta.outputs.tags }}
55+
labels: ${{ steps.meta.outputs.labels }}
56+
cache-from: type=gha
57+
cache-to: type=gha,mode=max
58+
platforms: linux/amd64,linux/arm64
59+
60+
- name: 📝 Generate image summary
61+
run: |
62+
echo "## 🐳 Docker Image Built" >> $GITHUB_STEP_SUMMARY
63+
echo "" >> $GITHUB_STEP_SUMMARY
64+
echo "**Service:** ${{ inputs.service }}" >> $GITHUB_STEP_SUMMARY
65+
echo "**Tags:**" >> $GITHUB_STEP_SUMMARY
66+
echo '```' >> $GITHUB_STEP_SUMMARY
67+
echo "${{ steps.meta.outputs.tags }}" >> $GITHUB_STEP_SUMMARY
68+
echo '```' >> $GITHUB_STEP_SUMMARY
69+
echo "" >> $GITHUB_STEP_SUMMARY
70+
echo "**Pull command:**" >> $GITHUB_STEP_SUMMARY
71+
echo '```bash' >> $GITHUB_STEP_SUMMARY
72+
echo "docker pull ${{ env.REGISTRY_GHCR }}/${{ env.IMAGE_PREFIX }}/${{ inputs.service }}:latest" >> $GITHUB_STEP_SUMMARY
73+
echo '```' >> $GITHUB_STEP_SUMMARY

0 commit comments

Comments
 (0)