Skip to content

Commit 7c70eaf

Browse files
authored
Merge pull request #101 from RADAR-base/release-0.4.1
Release 0.4.1
2 parents 66ccf58 + 341b673 commit 7c70eaf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+824
-439
lines changed

.editorconfig

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,5 @@ indent_size = 2
1313
ij_continuation_indent_size = 4
1414
max_line_length=100
1515

16-
[{*.gradle, *.py}]
16+
[*.{gradle,py,kt,kts}]
1717
indent_size = 4
18-
ij_continuation_indent_size = 8

.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
CONFLUENT_VERSION=7.4.0

.github/workflows/main.yml

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -20,25 +20,16 @@ jobs:
2020
# Steps represent a sequence of tasks that will be executed as part of the job
2121
steps:
2222
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
23-
- uses: actions/checkout@v2
23+
- uses: actions/checkout@v3
2424

25-
- uses: actions/setup-java@v1
25+
- uses: actions/setup-java@v3
2626
with:
27+
distribution: temurin
2728
java-version: 11
2829

29-
- name: Cache
30-
uses: actions/cache@v2
31-
with:
32-
# Cache gradle directories
33-
path: |
34-
~/.gradle/caches
35-
~/.gradle/wrapper
36-
# Key for restoring and saving the cache
37-
key: ${{ runner.os }}-gradle-${{ hashFiles('gradlew', '**/*.gradle', 'gradle.properties', 'gradle/**') }}
38-
restore-keys: |
39-
${{ runner.os }}-gradle-
30+
- name: Setup Gradle
31+
uses: gradle/gradle-build-action@v2
4032

41-
# Compile the code
4233
- name: Compile code
4334
run: ./gradlew assemble
4435

@@ -53,25 +44,26 @@ jobs:
5344
# Steps represent a sequence of tasks that will be executed as part of the job
5445
steps:
5546
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
56-
- uses: actions/checkout@v2
47+
- uses: actions/checkout@v3
5748

5849
- name: Docker build parameters
5950
id: docker_params
6051
run: |
61-
echo "::set-output name=has_docker_login::${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }}"
62-
if [ "${{ github.event_name == 'pull_request' }}" = "true" ]; then
63-
echo "::set-output name=push::false"
64-
echo "::set-output name=load::true"
65-
echo "::set-output name=platforms::linux/amd64"
52+
HAS_DOCKER_LOGIN=${{ secrets.DOCKERHUB_USERNAME != '' && secrets.DOCKERHUB_TOKEN != '' }}
53+
echo "has_docker_login=$HAS_DOCKER_LOGIN" >> $GITHUB_OUTPUT
54+
if [ "${{ github.event_name == 'pull_request' }}" = "true" ] || [ "$HAS_DOCKER_LOGIN" = "false" ]; then
55+
echo "push=false" >> $GITHUB_OUTPUT
56+
echo "load=true" >> $GITHUB_OUTPUT
57+
echo "platforms=linux/amd64" >> $GITHUB_OUTPUT
6658
else
67-
echo "::set-output name=push::true"
68-
echo "::set-output name=load::false"
69-
echo "::set-output name=platforms::linux/amd64,linux/arm64"
59+
echo "push=true" >> $GITHUB_OUTPUT
60+
echo "load=false" >> $GITHUB_OUTPUT
61+
echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT
7062
fi
7163
7264
- name: Cache Docker layers
7365
id: cache_buildx
74-
uses: actions/cache@v2
66+
uses: actions/cache@v3
7567
with:
7668
path: /tmp/.buildx-cache
7769
key: ${{ runner.os }}-buildx-${{ steps.docker_params.outputs.push }}-${{ hashFiles('**/Dockerfile', '**/*.gradle', 'gradle.properties', '.dockerignore', '*/src/main/**', 'docker/**') }}
@@ -81,24 +73,24 @@ jobs:
8173
8274
- name: Login to Docker Hub
8375
if: steps.docker_params.outputs.has_docker_login == 'true'
84-
uses: docker/login-action@v1
76+
uses: docker/login-action@v2
8577
with:
8678
username: ${{ secrets.DOCKERHUB_USERNAME }}
8779
password: ${{ secrets.DOCKERHUB_TOKEN }}
8880

8981
# Add Docker labels and tags
9082
- name: Docker meta
9183
id: docker_meta
92-
uses: crazy-max/ghaction-docker-meta@v2
84+
uses: docker/metadata-action@v4
9385
with:
9486
images: ${{ env.DOCKER_IMAGE }}
9587

9688
# Setup docker build environment
9789
- name: Set up QEMU
98-
uses: docker/setup-qemu-action@v1
90+
uses: docker/setup-qemu-action@v2
9991

10092
- name: Set up Docker Buildx
101-
uses: docker/setup-buildx-action@v1
93+
uses: docker/setup-buildx-action@v2
10294

10395
- name: Cache parameters
10496
id: cache-parameters
@@ -110,8 +102,9 @@ jobs:
110102
fi
111103
112104
- name: Build docker
113-
uses: docker/build-push-action@v2
105+
uses: docker/build-push-action@v3
114106
with:
107+
context: .
115108
cache-from: type=local,src=/tmp/.buildx-cache
116109
cache-to: ${{ steps.cache-parameters.outputs.cache-to }}
117110
platforms: ${{ steps.docker_params.outputs.platforms }}
@@ -134,8 +127,11 @@ jobs:
134127
- name: Inspect docker image
135128
run: |
136129
docker image inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
137-
docker run --rm ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }} curl --help
130+
docker run --rm ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }} curl --version
131+
138132
133+
# https://github.com/docker/build-push-action/issues/252
134+
# https://github.com/moby/buildkit/issues/1896
139135
- name: Move docker build cache
140136
if: steps.cache_buildx.outputs.cache-hit != 'true'
141137
run: |

.github/workflows/release.yml

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ jobs:
1616
# Steps represent a sequence of tasks that will be executed as part of the job
1717
steps:
1818
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
19-
- uses: actions/checkout@v2
20-
- uses: actions/setup-java@v1
19+
- uses: actions/checkout@v3
20+
- uses: actions/setup-java@v3
2121
with:
22+
distribution: temurin
2223
java-version: 11
2324

2425
- name: Gradle cache
25-
uses: actions/cache@v2
26+
uses: actions/cache@v3
2627
with:
2728
# Cache gradle directories
2829
path: |
@@ -51,33 +52,34 @@ jobs:
5152

5253
# Steps represent a sequence of tasks that will be executed as part of the job
5354
steps:
54-
- uses: actions/checkout@v2
55+
- uses: actions/checkout@v3
5556

5657
# Setup docker build environment
5758
- name: Set up QEMU
58-
uses: docker/setup-qemu-action@v1
59+
uses: docker/setup-qemu-action@v2
5960
- name: Set up Docker Buildx
60-
uses: docker/setup-buildx-action@v1
61+
uses: docker/setup-buildx-action@v2
6162

6263
- name: Login to DockerHub
63-
uses: docker/login-action@v1
64+
uses: docker/login-action@v2
6465
with:
6566
username: ${{ secrets.DOCKERHUB_USERNAME }}
6667
password: ${{ secrets.DOCKERHUB_TOKEN }}
6768

6869
# Add Docker labels and tags
6970
- name: Docker meta
7071
id: docker_meta
71-
uses: crazy-max/ghaction-docker-meta@v2
72+
uses: docker/metadata-action@v4
7273
with:
7374
images: ${{ env.DOCKER_IMAGE }}
7475
tags: |
7576
type=semver,pattern={{version}}
7677
type=semver,pattern={{major}}.{{minor}}
7778
7879
- name: Build docker
79-
uses: docker/build-push-action@v2
80+
uses: docker/build-push-action@v3
8081
with:
82+
context: .
8183
platforms: linux/amd64,linux/arm64
8284
push: true
8385
tags: ${{ steps.docker_meta.outputs.tags }}

Dockerfile

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,18 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM gradle:7.2-jdk11 as builder
15+
FROM --platform=$BUILDPLATFORM gradle:8.1-jdk11 as builder
1616

1717
RUN mkdir /code
1818
WORKDIR /code
1919

2020
ENV GRADLE_USER_HOME=/code/.gradlecache \
21-
GRADLE_OPTS="-Dorg.gradle.vfs.watch=false"
21+
GRADLE_OPTS="-Dorg.gradle.vfs.watch=false -Djdk.lang.Process.launchMechanism=vfork"
2222

23-
COPY ./build.gradle ./settings.gradle ./gradle.properties /code/
24-
COPY kafka-connect-rest-source/build.gradle /code/kafka-connect-rest-source/
25-
COPY kafka-connect-fitbit-source/build.gradle /code/kafka-connect-fitbit-source/
23+
COPY buildSrc /code/buildSrc
24+
COPY ./build.gradle.kts ./settings.gradle.kts ./gradle.properties /code/
25+
COPY kafka-connect-rest-source/build.gradle.kts /code/kafka-connect-rest-source/
26+
COPY kafka-connect-fitbit-source/build.gradle.kts /code/kafka-connect-fitbit-source/
2627

2728
RUN gradle downloadDependencies copyDependencies
2829

@@ -31,13 +32,14 @@ COPY ./kafka-connect-fitbit-source/src/ /code/kafka-connect-fitbit-source/src
3132

3233
RUN gradle jar
3334

34-
FROM confluentinc/cp-kafka-connect-base:6.2.0-3-ubi8
35+
FROM confluentinc/cp-kafka-connect-base:7.4.0
3536

3637
MAINTAINER Joris Borgdorff <[email protected]>
3738

3839
LABEL description="Kafka REST API Source connector"
3940

40-
ENV CONNECT_PLUGIN_PATH=/usr/share/java/kafka-connect/plugins
41+
ENV CONNECT_PLUGIN_PATH="/usr/share/java/kafka-connect/plugins" \
42+
WAIT_FOR_KAFKA="1"
4143

4244
# To isolate the classpath from the plugin path as recommended
4345
COPY --from=builder /code/kafka-connect-rest-source/build/third-party/*.jar ${CONNECT_PLUGIN_PATH}/kafka-connect-rest-source/
@@ -48,7 +50,7 @@ COPY --from=builder /code/kafka-connect-rest-source/build/libs/*.jar ${CONNECT_P
4850
COPY --from=builder /code/kafka-connect-fitbit-source/build/libs/*.jar ${CONNECT_PLUGIN_PATH}/kafka-connect-fitbit-source/
4951

5052
# Load topics validator
51-
COPY ./docker/kafka-wait /usr/bin/kafka-wait
53+
COPY --chown=appuser:appuser ./docker/kafka-wait /usr/bin/kafka-wait
5254

5355
# Load modified launcher
54-
COPY ./docker/launch /etc/confluent/docker/launch
56+
COPY --chown=appuser:appuser ./docker/launch /etc/confluent/docker/launch

build.gradle

Lines changed: 0 additions & 62 deletions
This file was deleted.

build.gradle.kts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
import org.radarbase.gradle.plugin.radarKotlin
2+
3+
plugins {
4+
id("org.radarbase.radar-root-project") version Versions.radarCommons
5+
id("org.radarbase.radar-dependency-management") version Versions.radarCommons
6+
id("org.radarbase.radar-kotlin") version Versions.radarCommons apply false
7+
}
8+
9+
description = "Kafka connector for REST API sources"
10+
11+
radarRootProject {
12+
projectVersion.set(Versions.project)
13+
}
14+
15+
subprojects {
16+
apply(plugin = "org.radarbase.radar-kotlin")
17+
18+
radarKotlin {
19+
javaVersion.set(Versions.java)
20+
kotlinVersion.set(Versions.kotlin)
21+
slf4jVersion.set(Versions.slf4j)
22+
log4j2Version.set(Versions.log4j2)
23+
junitVersion.set(Versions.junit)
24+
}
25+
}

buildSrc/build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
plugins {
2+
kotlin("jvm") version "1.8.10"
3+
}
4+
5+
repositories {
6+
mavenCentral()
7+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
object Versions {
2+
const val project = "0.4.1"
3+
4+
const val java = 11
5+
const val kotlin = "1.8.21"
6+
7+
const val radarCommons = "1.0.0"
8+
const val confluent = "7.4.0"
9+
const val kafka = "$confluent-ce"
10+
11+
// From image
12+
const val jackson = "2.14.2"
13+
14+
const val log4j2 = "2.20.0"
15+
const val slf4j = "2.0.7"
16+
17+
const val okhttp = "4.11.0"
18+
19+
const val managementPortal = "2.0.0"
20+
21+
const val firebaseAdmin = "9.1.0"
22+
const val radarSchemas = "0.8.3"
23+
24+
const val junit = "5.9.3"
25+
const val hamcrest = "2.2"
26+
const val wiremock = "2.27.2"
27+
const val mockito = "5.3.1"
28+
}

0 commit comments

Comments
 (0)