Skip to content

Commit c406e8a

Browse files
committed
feat: Add OCI with the tool
Signed-off-by: Ronny Trommer <ronny@no42.org>
1 parent 009ce41 commit c406e8a

File tree

4 files changed

+57
-0
lines changed

4 files changed

+57
-0
lines changed

.github/workflows/main.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ jobs:
1818
with:
1919
distribution: 'temurin'
2020
java-version: '17'
21+
- name: Set version number, data and short git hash
22+
run: |
23+
echo "VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)" >> ${GITHUB_ENV}
24+
echo "SHORT_GIT_SHA=$(git rev-parse --short HEAD)" >> ${GITHUB_ENV}
25+
echo "BUILD_DATE"=$(date -u +"%Y-%m-%dT%H:%M:%SZ") >> ${GITHUB_ENV}
26+
echo "OCI_FLOATING_TAG=${OCI_RELEASE_CANDIDATE:-snapshot}" >> ${GITHUB_ENV}
2127
- name: Compile source without tests
2228
run: |
2329
make
@@ -29,6 +35,31 @@ jobs:
2935
with:
3036
name: artifacts
3137
path: target/artifacts
38+
- name: Set a OCI floating tag for a release
39+
if: startsWith(github.ref, 'refs/tags/v')
40+
run: |
41+
echo "OCI_RELEASE_CANDIDATE=latest" >> ${GITHUB_ENV}
42+
- name: Set up QEMU
43+
uses: docker/setup-qemu-action@v3
44+
- name: Set up Docker Buildx
45+
uses: docker/setup-buildx-action@v3
46+
- name: Login to Docker Hub
47+
uses: docker/login-action@v3
48+
with:
49+
registry: ghcr.io
50+
username: ${{ github.repository_owner }}
51+
password: ${{ secrets.GHCR_PAT }}
52+
- name: Build container image
53+
uses: docker/build-push-action@v6
54+
with:
55+
context: .
56+
platforms: linux/amd64,linux/arm64
57+
push: true
58+
build-args: |
59+
DATE=${{ env.BUILD_DATE }}
60+
GIT_SHORT_HASH=${{ env.SHORT_GIT_SHA }}
61+
VERSION=${{ env.VERSION }}
62+
tags: ghcr.io/opennms-forge/jrobin-to-rrdtool-converter:${{ env.SHORT_GIT_SHA }},ghcr.io/opennms-forge/jrobin-to-rrdtool-converter:${{ env.VERSION }},ghcr.io/opennms-forge/jrobin-to-rrdtool-converter:${{ env.OCI_FLOATING_TAG }}
3263
release:
3364
if: startsWith(github.ref, 'refs/tags/v')
3465
runs-on: ubuntu-latest

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ target/
99
**/*nbactions.xml
1010
*.iws
1111
*.ipr
12+
*.versionsBackup

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM quay.io/lib/eclipse-temurin:17-jre
2+
3+
ADD target/convertjrb-*-jar-with-dependencies.jar /convertjrb.jar
4+
5+
RUN apt-get update && \
6+
apt-get install -y --no-install-recommends rrdtool && \
7+
apt-get clean && \
8+
rm -rf /var/lib/apt/lists/*
9+
10+
WORKDIR /
11+
12+
ENTRYPOINT [ "java" , "-jar", "convertjrb.jar", "-rrdtool", "/usr/bin/rrdtool" ]
13+
14+
CMD [ "/data" ]

Makefile

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ PATCH_VERSION := $(shell echo $(RELEASE_VERSION) | cut -d. -f3)
1616
SNAPSHOT_VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(shell expr $(PATCH_VERSION) + 1)-SNAPSHOT
1717
RELEASE_LOG := $(ARTIFACTS_DIR)/release.log
1818
OK := "[ 👍 ]"
19+
CONTAINER_TAG := docker.io/opennms/jrb2rrd:${VERSION}
1920

2021
.PHONY: help
2122
help:
@@ -49,6 +50,12 @@ deps-build:
4950
@mvn validate > /dev/null
5051
@echo $(OK)
5152

53+
.PHONY: deps-docker
54+
deps-docker:
55+
@echo -n "👮‍♀️ Check Docker exists: "
56+
@command -v docker > /dev/null
57+
@echo $(OK)
58+
5259
.PHONY: jrobin-to-rrdtool
5360
jrobin-to-rrdtool: deps-build
5461
mvn install assembly:single
@@ -65,6 +72,10 @@ collect-artifacts:
6572
cd $(ARTIFACTS_DIR); tar czf convertjrb-$(VERSION).tar.gz convertjrb-$(VERSION)-jar-with-dependencies.jar shasum256.txt
6673
shasum -a 256 -b $(ARTIFACTS_DIR)/convertjrb-$(VERSION).tar.gz > $(ARTIFACTS_DIR)/convertjrb-$(VERSION).sha256
6774

75+
.PHONY: oci
76+
oci: deps-docker
77+
docker build -t $(CONTAINER_TAG) .
78+
6879
.PHONY: release
6980
release: deps-build
7081
@mkdir -p target

0 commit comments

Comments
 (0)