1
- name : Sentinel Release
1
+ name : Sentinel Release Development
2
2
3
3
on :
4
4
release :
5
5
types : [released]
6
6
7
7
env :
8
- REGISTRY : ghcr.io
8
+ GITHUB_REGISTRY : ghcr.io
9
+ DOCKER_REGISTRY : docker.io
9
10
IMAGE_NAME : " coollabsio/sentinel"
10
11
11
12
jobs :
@@ -16,82 +17,101 @@ jobs:
16
17
packages : write
17
18
steps :
18
19
- uses : actions/checkout@v4
19
- - name : Login to ghcr.io
20
+
21
+ - name : Login to ${{ env.GITHUB_REGISTRY }}
20
22
uses : docker/login-action@v3
21
23
with :
22
- registry : ${{ env.REGISTRY }}
24
+ registry : ${{ env.GITHUB_REGISTRY }}
23
25
username : ${{ github.actor }}
24
26
password : ${{ secrets.GITHUB_TOKEN }}
25
- - name : Extract metadata (tags, labels)
26
- id : meta
27
- uses : docker/metadata -action@v5
27
+
28
+ - name : Login to ${{ env.DOCKER_REGISTRY }}
29
+ uses : docker/login -action@v3
28
30
with :
29
- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
30
- tags : |
31
- type=semver,pattern={{version}}
32
- - name : Build and push
33
- uses : docker/build-push-action@v5
31
+ registry : ${{ env.DOCKER_REGISTRY }}
32
+ username : ${{ secrets.DOCKER_USERNAME }}
33
+ password : ${{ secrets.DOCKER_TOKEN }}
34
+
35
+ - name : Build and Push Image
36
+ uses : docker/build-push-action@v6
34
37
with :
35
38
context : .
36
39
file : Dockerfile
37
40
platforms : linux/amd64
38
41
push : true
39
- tags : ${{ steps.meta.outputs.tags }}
42
+ tags : |
43
+ ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-amd64
44
+ ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-amd64
45
+ labels : |
46
+ coolify.managed=true
40
47
aarch64 :
41
48
runs-on : [ self-hosted, arm64 ]
42
49
permissions :
43
50
contents : read
44
51
packages : write
45
52
steps :
46
53
- uses : actions/checkout@v4
47
- - name : Login to ghcr.io
54
+
55
+ - name : Login to ${{ env.GITHUB_REGISTRY }}
48
56
uses : docker/login-action@v3
49
57
with :
50
- registry : ${{ env.REGISTRY }}
58
+ registry : ${{ env.GITHUB_REGISTRY }}
51
59
username : ${{ github.actor }}
52
60
password : ${{ secrets.GITHUB_TOKEN }}
53
- - name : Extract metadata (tags, labels)
54
- id : meta
55
- uses : docker/metadata -action@v5
61
+
62
+ - name : Login to ${{ env.DOCKER_REGISTRY }}
63
+ uses : docker/login -action@v3
56
64
with :
57
- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
58
- tags : |
59
- type=semver,pattern={{version}}-aarch64
60
- - name : Build and push
61
- uses : docker/build-push-action@v5
65
+ registry : ${{ env.DOCKER_REGISTRY }}
66
+ username : ${{ secrets.DOCKER_USERNAME }}
67
+ password : ${{ secrets.DOCKER_TOKEN }}
68
+
69
+ - name : Build and Push Image
70
+ uses : docker/build-push-action@v6
62
71
with :
63
72
context : .
64
73
file : Dockerfile.arm64
65
74
platforms : linux/aarch64
66
75
push : true
67
- tags : ${{ steps.meta.outputs.tags }}-aarch64
76
+ tags : |
77
+ ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-aarch64
78
+ ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-aarch64
79
+ labels : |
80
+ coolify.managed=true
68
81
merge-manifest :
69
82
runs-on : ubuntu-latest
70
83
permissions :
71
84
contents : read
72
85
packages : write
73
86
needs : [ amd64, aarch64 ]
74
87
steps :
75
- - name : Checkout
76
- uses : actions/checkout@v4
77
- - name : Set up QEMU
78
- uses : docker/setup-qemu-action@v3
79
- - name : Set up Docker Buildx
80
- uses : docker/setup-buildx-action@v3
81
- - name : Login to ghcr.io
88
+ - uses : actions/checkout@v4
89
+ - uses : docker/setup-buildx-action@v3
90
+
91
+ - name : Login to ${{ env.GITHUB_REGISTRY }}
82
92
uses : docker/login-action@v3
83
93
with :
84
- registry : ${{ env.REGISTRY }}
94
+ registry : ${{ env.GITHUB_REGISTRY }}
85
95
username : ${{ github.actor }}
86
96
password : ${{ secrets.GITHUB_TOKEN }}
87
- - name : Extract metadata (tags, labels)
88
- id : meta
89
- uses : docker/metadata -action@v5
97
+
98
+ - name : Login to ${{ env.DOCKER_REGISTRY }}
99
+ uses : docker/login -action@v3
90
100
with :
91
- images : ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
92
- tags : |
93
- type=semver,pattern={{version}}
94
- - name : Create & publish manifest
101
+ registry : ${{ env.DOCKER_REGISTRY }}
102
+ username : ${{ secrets.DOCKER_USERNAME }}
103
+ password : ${{ secrets.DOCKER_TOKEN }}
104
+
105
+ - name : Create & publish manifest on ${{ env.DOCKER_REGISTRY }}
106
+ run : |
107
+ docker buildx imagetools create \
108
+ --append ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-aarch64 \
109
+ --tag ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-amd64 \
110
+ --tag ${{ env.DOCKER_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
111
+
112
+ - name : Create & publish manifest on ${{ env.GITHUB_REGISTRY }}
95
113
run : |
96
- docker buildx imagetools create --append ${{ fromJSON(steps.meta.outputs.json).tags[0] }}-aarch64 --tag ${{ fromJSON(steps.meta.outputs.json).tags[0] }}
97
- docker buildx imagetools create --append ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest-aarch64 --tag ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
114
+ docker buildx imagetools create \
115
+ --append ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-aarch64 \
116
+ --tag ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}-amd64 \
117
+ --tag ${{ env.GITHUB_REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.event.release.tag_name }}
0 commit comments