Skip to content

Commit 2cd8715

Browse files
committed
Publish docker image to GitHub container registry
1 parent 860c2e5 commit 2cd8715

File tree

1 file changed

+38
-41
lines changed

1 file changed

+38
-41
lines changed

.github/workflows/release.yml

Lines changed: 38 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
1-
# Create release files
21
name: Release
32

43
on:
54
release:
65
types: [published]
76

87
env:
9-
DOCKER_IMAGE: radarbase/radar-output-restructure
8+
REGISTRY: ghcr.io
9+
REPOSITORY: ${{ github.repository }}
10+
DOCKER_IMAGE: radar-output-restructure
1011

1112
jobs:
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/gradle-build-action@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

Comments
 (0)