1
- # Create release files
2
1
name : Release
3
2
4
3
on :
5
4
release :
6
5
types : [published]
7
6
8
7
env :
9
- DOCKER_IMAGE : radarbase/radar-output-restructure
8
+ REGISTRY : ghcr.io
9
+ REPOSITORY : ${{ github.repository }}
10
+ DOCKER_IMAGE : radar-output-restructure
10
11
11
12
jobs :
12
13
upload :
13
- # The type of runner that the job will run on
14
14
runs-on : ubuntu-latest
15
+ permissions : write-all
15
16
16
- # Steps represent a sequence of tasks that will be executed as part of the job
17
17
steps :
18
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
19
- - uses : actions/checkout@v3
18
+ - uses : actions/checkout@v4
20
19
21
- - uses : actions/setup-java@v3
20
+ - uses : actions/setup-java@v4
22
21
with :
23
22
distribution : temurin
24
23
java-version : 17
25
24
26
25
- name : Setup Gradle
27
- uses : gradle/gradle-build-action@v2
26
+ uses : gradle/actions/setup-gradle@v3
28
27
29
28
# Compile code
30
29
- name : Compile code
31
30
run : ./gradlew assemble
32
31
33
32
# Upload it to GitHub
34
33
- name : Upload to GitHub
35
- uses : AButler/upload-release-assets@v2 .0
34
+ uses : AButler/upload-release-assets@v3 .0
36
35
with :
37
36
files : ' build/libs/*;build/distributions/*'
38
37
repo-token : ${{ secrets.GITHUB_TOKEN }}
@@ -44,44 +43,51 @@ jobs:
44
43
45
44
- name : Publish
46
45
env :
47
- OSSRH_USER : ${{ secrets.OSSRH_USER }}
48
- OSSRH_PASSWORD : ${{ secrets.OSSRH_PASSWORD }}
46
+ OSSRH_USER : ${{ secrets.OSSRH_USER_TOKEN_ID }}
47
+ OSSRH_PASSWORD : ${{ secrets.OSSRH_USER_TOKEN_SECRET }}
49
48
run : ./gradlew -Psigning.gnupg.keyName=${{ secrets.OSSRH_GPG_SECRET_KEY_NAME }} -Psigning.gnupg.executable=gpg -Psigning.gnupg.passphrase=${{ secrets.OSSRH_GPG_SECRET_KEY_PASSWORD }} publish closeAndReleaseSonatypeStagingRepository
50
49
51
50
# Build and push tagged release docker image
52
51
docker :
53
- # The type of runner that the job will run on
54
52
runs-on : ubuntu-latest
53
+ permissions :
54
+ contents : read
55
+ packages : write
55
56
56
- # Steps represent a sequence of tasks that will be executed as part of the job
57
57
steps :
58
- - uses : actions/checkout@v3
58
+ - uses : actions/checkout@v4
59
+
60
+ # Setup docker build environment
61
+ - name : Set up QEMU
62
+ uses : docker/setup-qemu-action@v3
63
+
64
+ - name : Set up Docker Buildx
65
+ uses : docker/setup-buildx-action@v3
66
+
67
+ - name : Login to Container Registry
68
+ uses : docker/login-action@v2
69
+ with :
70
+ registry : ${{ env.REGISTRY }}
71
+ username : ${{ github.actor }}
72
+ password : ${{ secrets.GITHUB_TOKEN }}
73
+
74
+ - name : Lowercase image name
75
+ run : |
76
+ echo "DOCKER_IMAGE=${REGISTRY}/${REPOSITORY,,}/${IMAGE_NAME}" >>${GITHUB_ENV}
59
77
60
78
# Add Docker labels and tags
61
79
- name : Docker meta
62
80
id : docker_meta
63
- uses : docker/metadata-action@v4
81
+ uses : docker/metadata-action@v5
64
82
with :
65
83
images : ${{ env.DOCKER_IMAGE }}
66
84
# output 2.1.2, 2.1 and 2
67
85
tags : |
68
86
type=semver,pattern={{version}}
69
87
type=semver,pattern={{major}}.{{minor}}
70
88
71
- # Setup docker build environment
72
- - name : Set up QEMU
73
- uses : docker/setup-qemu-action@v2
74
- - name : Set up Docker Buildx
75
- uses : docker/setup-buildx-action@v2
76
-
77
- - name : Login to DockerHub
78
- uses : docker/login-action@v2
79
- with :
80
- username : ${{ secrets.DOCKERHUB_USERNAME }}
81
- password : ${{ secrets.DOCKERHUB_TOKEN }}
82
-
83
89
- name : Build and push
84
- uses : docker/build-push-action@v3
90
+ uses : docker/build-push-action@v6
85
91
with :
86
92
context : .
87
93
file : ./Dockerfile
@@ -91,21 +97,12 @@ jobs:
91
97
# Use runtime labels from docker_meta as well as fixed labels
92
98
labels : |
93
99
${{ steps.docker_meta.outputs.labels }}
94
- maintainer=Bastiaan de Graaf <bastiaan @thehyve.nl>
95
- org.opencontainers.image.authors=Bastiaan de Graaf <bastiaan @thehyve.nl>
100
+ maintainer=Pim van Nierop <pim @thehyve.nl>
101
+ org.opencontainers.image.authors=Pim van Nierop <pim @thehyve.nl>
96
102
org.opencontainers.image.vendor=RADAR-base
97
103
org.opencontainers.image.licenses=Apache-2.0
98
104
99
- - name : Build locally
100
- uses : docker/build-push-action@v3
101
- with :
102
- context : .
103
- file : ./Dockerfile
104
- platforms : linux/amd64
105
- load : true
106
- tags : ${{ steps.docker_meta.outputs.tags }}
107
-
108
- - name : Inspect image
105
+ - name : Inspect docker image
109
106
run : |
107
+ docker pull ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
110
108
docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
111
- docker run --rm ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }} --help
0 commit comments