7
7
tags :
8
8
- ' *'
9
9
10
+ env :
11
+ REGISTRY : ghcr.io
12
+ IMAGE_NAME : ${{ github.repository }}
13
+
10
14
jobs :
11
15
build-and-push :
12
16
runs-on : ubuntu-latest
13
17
14
18
steps :
19
+ # Checkout the repository
15
20
- name : Checkout Repository
16
21
uses : actions/checkout@v4
17
22
23
+ # Set up QEMU for cross-platform builds
18
24
- name : Set up QEMU (for cross-platform builds)
19
25
uses : docker/setup-qemu-action@v3
20
26
27
+ # Set up Docker Buildx
21
28
- name : Set up Docker Buildx
22
29
uses : docker/setup-buildx-action@v3
23
30
31
+ # Log in to GitHub Container Registry
24
32
- name : Log in to Docker Hub
25
33
uses : docker/login-action@v3
26
34
with :
27
- username : ${{ secrets.DOCKERHUB_USERNAME }}
28
- password : ${{ secrets.DOCKERHUB_TOKEN }}
29
-
30
- - name : Extract Image Tag
31
- id : vars
32
- run : echo "IMAGE_TAG=${{ github.run_number }}" >> $GITHUB_ENV
35
+ registry : ghcr.io
36
+ username : ${{ secrets.GH_USERNAME }}
37
+ password : ${{ secrets.GH_PAT }}
38
+
39
+ # Extract metadata (tags, labels) for Docker
40
+ - name : Extract metadata (tags, labels) for Docker
41
+ id : meta
42
+ uses : docker/metadata-action@v4
43
+ with :
44
+ images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
33
45
46
+ # Build and push Docker image
34
47
- name : Build and Push Docker Image
35
48
run : |
36
49
docker buildx build \
37
50
--platform linux/amd64,linux/arm64 \
38
51
--push \
39
- -t ciarancorson/prom-garmin-scraper:${{ env.IMAGE_TAG }} \
40
- -t ciarancorson/prom-garmin-scraper:latest .
41
-
42
-
52
+ -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} .
0 commit comments