1- # Create release files
21name : Release
32
43on :
54 release :
65 types : [published]
76
87env :
9- DOCKER_IMAGE : radarbase/radar-output-restructure
8+ REGISTRY : ghcr.io
9+ REPOSITORY : ${{ github.repository }}
10+ DOCKER_IMAGE : radar-output-restructure
1011
1112jobs :
1213 upload :
13- # The type of runner that the job will run on
1414 runs-on : ubuntu-latest
15+ permissions : write-all
1516
16- # Steps represent a sequence of tasks that will be executed as part of the job
1717 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
2019
21- - uses : actions/setup-java@v3
20+ - uses : actions/setup-java@v4
2221 with :
2322 distribution : temurin
2423 java-version : 17
2524
2625 - name : Setup Gradle
27- uses : gradle/gradle-build-action@v2
26+ uses : gradle/actions/setup-gradle@v3
2827
2928 # Compile code
3029 - name : Compile code
3130 run : ./gradlew assemble
3231
3332 # Upload it to GitHub
3433 - name : Upload to GitHub
35- uses : AButler/upload-release-assets@v2 .0
34+ uses : AButler/upload-release-assets@v3 .0
3635 with :
3736 files : ' build/libs/*;build/distributions/*'
3837 repo-token : ${{ secrets.GITHUB_TOKEN }}
@@ -44,44 +43,51 @@ jobs:
4443
4544 - name : Publish
4645 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 }}
4948 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
5049
5150 # Build and push tagged release docker image
5251 docker :
53- # The type of runner that the job will run on
5452 runs-on : ubuntu-latest
53+ permissions :
54+ contents : read
55+ packages : write
5556
56- # Steps represent a sequence of tasks that will be executed as part of the job
5757 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}
5977
6078 # Add Docker labels and tags
6179 - name : Docker meta
6280 id : docker_meta
63- uses : docker/metadata-action@v4
81+ uses : docker/metadata-action@v5
6482 with :
6583 images : ${{ env.DOCKER_IMAGE }}
6684 # output 2.1.2, 2.1 and 2
6785 tags : |
6886 type=semver,pattern={{version}}
6987 type=semver,pattern={{major}}.{{minor}}
7088
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-
8389 - name : Build and push
84- uses : docker/build-push-action@v3
90+ uses : docker/build-push-action@v6
8591 with :
8692 context : .
8793 file : ./Dockerfile
@@ -91,21 +97,12 @@ jobs:
9197 # Use runtime labels from docker_meta as well as fixed labels
9298 labels : |
9399 ${{ 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>
96102 org.opencontainers.image.vendor=RADAR-base
97103 org.opencontainers.image.licenses=Apache-2.0
98104
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
109106 run : |
107+ docker pull ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
110108 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