Skip to content

Commit 36f3537

Browse files
ferenc-csakyvelo
andcommitted
feat!: Ship runner uber JAR in Flink lib/ (#317)
Co-authored-by: Marvin Froeder <marvin@datasqrl.com>
1 parent bd1d441 commit 36f3537

3 files changed

Lines changed: 17 additions & 37 deletions

File tree

.github/workflows/test-cloud-compilation.yml

Lines changed: 12 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -182,37 +182,27 @@ jobs:
182182
- name: Import GPG key
183183
id: gpg
184184
env:
185-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
185+
GPG_PRIVATE_KEY: ${{ secrets.BOT_GPG_PRIVATE_KEY }}
186186
run: |
187187
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
188188
KEY_ID=$(gpg --list-secret-keys --keyid-format=long --with-colons \
189189
| awk -F: '/^sec/ {print $5; exit}')
190-
UID_LINE=$(gpg --list-secret-keys --with-colons \
191-
| awk -F: '/^uid/ {print $10; exit}')
192-
USER_NAME=$(echo "$UID_LINE" | sed -E 's/ *<[^>]+>$//')
193-
USER_EMAIL=$(echo "$UID_LINE" | sed -E 's/.*<([^>]+)>.*/\1/')
194-
if [ -z "$KEY_ID" ] || [ -z "$USER_EMAIL" ]; then
195-
echo "Failed to determine GPG key id / uid (key_id=${KEY_ID}, uid=${UID_LINE})"
190+
if [ -z "$KEY_ID" ]; then
191+
echo "Failed to determine GPG key id"
196192
exit 1
197193
fi
198194
mkdir -p ~/.gnupg
199195
echo "default-key ${KEY_ID}" >> ~/.gnupg/gpg.conf
200196
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
201-
{
202-
echo "key_id=${KEY_ID}"
203-
echo "user_name=${USER_NAME}"
204-
echo "user_email=${USER_EMAIL}"
205-
} >> "$GITHUB_OUTPUT"
197+
echo "key_id=${KEY_ID}" >> "$GITHUB_OUTPUT"
206198
207199
- name: Configure git
208200
env:
209201
KEY_ID: ${{ steps.gpg.outputs.key_id }}
210-
USER_NAME: ${{ steps.gpg.outputs.user_name }}
211-
USER_EMAIL: ${{ steps.gpg.outputs.user_email }}
212202
run: |
213203
cd compilation
214-
git config user.name "${USER_NAME}"
215-
git config user.email "${USER_EMAIL}"
204+
git config user.name "Datasqrl - Automation Bot"
205+
git config user.email "bot@datasqrl.com"
216206
git config user.signingkey "${KEY_ID}"
217207
git config commit.gpgsign true
218208
@@ -449,37 +439,27 @@ jobs:
449439
id: gpg
450440
if: steps.branch_exists.outputs.exists == 'true'
451441
env:
452-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
442+
GPG_PRIVATE_KEY: ${{ secrets.BOT_GPG_PRIVATE_KEY }}
453443
run: |
454444
echo "$GPG_PRIVATE_KEY" | gpg --batch --import
455445
KEY_ID=$(gpg --list-secret-keys --keyid-format=long --with-colons \
456446
| awk -F: '/^sec/ {print $5; exit}')
457-
UID_LINE=$(gpg --list-secret-keys --with-colons \
458-
| awk -F: '/^uid/ {print $10; exit}')
459-
USER_NAME=$(echo "$UID_LINE" | sed -E 's/ *<[^>]+>$//')
460-
USER_EMAIL=$(echo "$UID_LINE" | sed -E 's/.*<([^>]+)>.*/\1/')
461-
if [ -z "$KEY_ID" ] || [ -z "$USER_EMAIL" ]; then
462-
echo "Failed to determine GPG key id / uid (key_id=${KEY_ID}, uid=${UID_LINE})"
447+
if [ -z "$KEY_ID" ]; then
448+
echo "Failed to determine GPG key id"
463449
exit 1
464450
fi
465451
mkdir -p ~/.gnupg
466452
echo "default-key ${KEY_ID}" >> ~/.gnupg/gpg.conf
467453
echo "pinentry-mode loopback" >> ~/.gnupg/gpg.conf
468-
{
469-
echo "key_id=${KEY_ID}"
470-
echo "user_name=${USER_NAME}"
471-
echo "user_email=${USER_EMAIL}"
472-
} >> "$GITHUB_OUTPUT"
454+
echo "key_id=${KEY_ID}" >> "$GITHUB_OUTPUT"
473455
474456
- name: Configure git
475457
if: steps.branch_exists.outputs.exists == 'true'
476458
env:
477459
KEY_ID: ${{ steps.gpg.outputs.key_id }}
478-
USER_NAME: ${{ steps.gpg.outputs.user_name }}
479-
USER_EMAIL: ${{ steps.gpg.outputs.user_email }}
480460
run: |
481-
git config user.name "${USER_NAME}"
482-
git config user.email "${USER_EMAIL}"
461+
git config user.name "Datasqrl - Automation Bot"
462+
git config user.email "bot@datasqrl.com"
483463
git config user.signingkey "${KEY_ID}"
484464
git config commit.gpgsign true
485465

flink-sql-runner/src/main/docker/Dockerfile

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616

1717
FROM apache/flink:${flink-base-image}
1818

19-
RUN mkdir -p /opt/flink/plugins/flink-sql-runner
20-
2119
COPY flink-table-planner_2.12-*.jar /opt/flink/lib
2220
COPY flink-s3-fs-hadoop-*.jar /opt/flink/lib
2321
COPY hadoop-common-*.jar /opt/flink/lib
@@ -26,11 +24,11 @@ COPY hadoop-mapreduce-client-core-*.jar /opt/flink/lib
2624
COPY iceberg-flink-runtime-*.jar /opt/flink/lib
2725
COPY iceberg-aws-bundle-*.jar /opt/flink/lib
2826
COPY stdlib-utils-*.jar /opt/flink/lib
29-
COPY flink-sql-runner.uber.jar /opt/flink/plugins/flink-sql-runner
27+
COPY flink-sql-runner.uber.jar /opt/flink/lib/sql-runner.uber.jar
3028
COPY --chmod=755 entrypoint.sh /entrypoint.sh
3129

3230
RUN rm -rf /opt/flink/lib/flink-table-planner-loader-*.jar \
33-
&& ln -s /opt/flink/plugins/flink-sql-runner/flink-sql-runner.uber.jar /opt/flink/flink-sql-runner.jar \
31+
&& echo 'UEsDBBQACAgIAG2UllwAAAAAAAAAAAAAAAAUAAQATUVUQS1JTkYvTUFOSUZFU1QuTUb+ygAA803My0xLLS7RDUstKs7Mz7NSMNQz4HIuSk0sSU3Rdaq0UkjLyczL1i0uzNEtKs3LSy3i4gIAUEsHCL/cUjU2AAAANAAAAFBLAQIUABQACAgIAG2Ully/3FI1NgAAADQAAAAUAAQAAAAAAAAAAAAAAAAAAABNRVRBLUlORi9NQU5JRkVTVC5NRv7KAABQSwUGAAAAAAEAAQBGAAAAfAAAAAAA' | base64 -d > /opt/flink/noop.jar \
3432
&& mkdir -p /opt/flink/hadoop-conf \
3533
&& echo '<configuration><property><name>fs.s3a.aws.credentials.provider</name><value>com.amazonaws.auth.DefaultAWSCredentialsProviderChain</value></property></configuration>' > /opt/flink/hadoop-conf/core-site.xml
3634

flink-sql-runner/src/test/java/com/datasqrl/flinkrunner/AbstractITSupport.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,9 @@ protected String flinkRun(List<String> sqlRunnerArgs, @Nullable String savepoint
165165
execCmd.add(savepointPath);
166166
}
167167

168-
execCmd.add("./plugins/flink-sql-runner/flink-sql-runner.uber.jar");
168+
execCmd.add("-c");
169+
execCmd.add("com.datasqrl.flinkrunner.CliRunner");
170+
execCmd.add("noop.jar");
169171
execCmd.addAll(sqlRunnerArgs);
170172

171173
var execRes = flinkContainer.execInContainer(execCmd.toArray(new String[0]));

0 commit comments

Comments
 (0)