summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTheFox0x7 <thefox0x7@gmail.com>2024-05-19 16:20:33 +0200
committerearl-warren <earl-warren@noreply.code.forgejo.org>2024-05-19 16:20:33 +0200
commit15e328a8a53be37ff957400f9e0e39ee32ef6aa4 (patch)
treed705a067a5731e4f89bf123d2ec7ef622d0625ea
parentMerge pull request 'Bump build action to v5' (#197) from thefox/update-build-... (diff)
downloadforgejo-runner-15e328a8a53be37ff957400f9e0e39ee32ef6aa4.tar.xz
forgejo-runner-15e328a8a53be37ff957400f9e0e39ee32ef6aa4.zip
Add opencontainer labels to container (#195)
Closes: forgejo/runner#162 Reviewed-on: https://code.forgejo.org/forgejo/runner/pulls/195 Reviewed-by: earl-warren <earl-warren@noreply.code.forgejo.org> Co-authored-by: TheFox0x7 <thefox0x7@gmail.com> Co-committed-by: TheFox0x7 <thefox0x7@gmail.com>
-rw-r--r--.forgejo/labelscompare.py24
-rw-r--r--.forgejo/workflows/build-release-integration.yml3
-rw-r--r--Dockerfile14
-rw-r--r--RELEASE-NOTES.md1
4 files changed, 40 insertions, 2 deletions
diff --git a/.forgejo/labelscompare.py b/.forgejo/labelscompare.py
new file mode 100644
index 0000000..2274d38
--- /dev/null
+++ b/.forgejo/labelscompare.py
@@ -0,0 +1,24 @@
+import json
+
+expectedLabels = {
+ "maintainer": "contact@forgejo.org",
+ "org.opencontainers.image.authors": "Forgejo",
+ "org.opencontainers.image.url": "https://forgejo.org",
+ "org.opencontainers.image.documentation": "https://forgejo.org/docs/latest/admin/actions/#forgejo-runner",
+ "org.opencontainers.image.source": "https://code.forgejo.org/forgejo/runner",
+ "org.opencontainers.image.version": "1.2.3",
+ "org.opencontainers.image.vendor": "Forgejo",
+ "org.opencontainers.image.licenses": "MIT",
+ "org.opencontainers.image.title": "Forgejo Runner",
+ "org.opencontainers.image.description": "A runner for Forgejo Actions.",
+}
+inspect = None
+with open("./labels.json", "r") as f:
+ inspect = json.load(f)
+
+assert inspect
+labels = inspect[0]["Config"]["Labels"]
+
+for k, v in expectedLabels.items():
+ assert k in labels, f"'{k}' is missing from labels"
+ assert labels[k] == v, f"expected {v} in key {k}, found {labels[k]}"
diff --git a/.forgejo/workflows/build-release-integration.yml b/.forgejo/workflows/build-release-integration.yml
index 1f95c25..7f92218 100644
--- a/.forgejo/workflows/build-release-integration.yml
+++ b/.forgejo/workflows/build-release-integration.yml
@@ -85,3 +85,6 @@ jobs:
done
docker pull ${{ steps.forgejo.outputs.host-port }}/root/runner:$version
+
+ docker inspect ${{ steps.forgejo.outputs.host-port}}/root/runner:$version > labels.json
+ python3 .forgejo/labelscompare.py
diff --git a/Dockerfile b/Dockerfile
index ce36d7a..95136e2 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -20,12 +20,22 @@ WORKDIR /srv
RUN make clean && make build
FROM docker.io/library/alpine:3.18
-LABEL maintainer="contact@forgejo.org"
-
+ARG RELEASE_VERSION
RUN apk add --no-cache git bash
COPY --from=build-env /srv/forgejo-runner /bin/forgejo-runner
+LABEL maintainer="contact@forgejo.org" \
+ org.opencontainers.image.authors="Forgejo" \
+ org.opencontainers.image.url="https://forgejo.org" \
+ org.opencontainers.image.documentation="https://forgejo.org/docs/latest/admin/actions/#forgejo-runner" \
+ org.opencontainers.image.source="https://code.forgejo.org/forgejo/runner" \
+ org.opencontainers.image.version="${RELEASE_VERSION}" \
+ org.opencontainers.image.vendor="Forgejo" \
+ org.opencontainers.image.licenses="MIT" \
+ org.opencontainers.image.title="Forgejo Runner" \
+ org.opencontainers.image.description="A runner for Forgejo Actions."
+
ENV HOME=/data
USER 1000:1000
diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md
index f49e69d..cbf737b 100644
--- a/RELEASE-NOTES.md
+++ b/RELEASE-NOTES.md
@@ -6,6 +6,7 @@
* [Fix the docker compose example](https://code.forgejo.org/forgejo/runner/pulls/175) to workaround the race on labels.
* [Fix the kubernetes dind example](https://code.forgejo.org/forgejo/runner/pulls/169).
* [Rewrite ::group:: and ::endgroup:: commands like github](https://code.forgejo.org/forgejo/runner/pulls/183).
+* [Added opencontainers labels to the image](https://code.forgejo.org/forgejo/runner/pulls/195)
## 3.4.1