-
Notifications
You must be signed in to change notification settings - Fork 3
ci: Add GitHub workflows to build and publish coordinator runtime, worker runtime, and worker development environment container images. #26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 16 commits
4f23c7b
48dff13
9bd9207
4997a02
d74b885
4815351
e7fe20c
fc2cc18
cc2c510
60dd19d
a534bec
9e17bc0
aeb4e48
dbb28fa
1e69681
4ca014c
fec665a
20a7054
283b751
64983f0
a6ebbaa
5ca0420
fa06d23
d120672
4c90aad
3b76c12
b55aeda
74787c7
313a648
47b9c10
ceaa809
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -46,5 +46,69 @@ jobs: | |
| run: | | ||
| export MAVEN_OPTS="${MAVEN_INSTALL_OPTS}" | ||
| ./mvnw install -B -V -T 1C -DskipTests -Dmaven.javadoc.skip=true --no-transfer-progress -P ci -pl '!presto-test-coverage,!:presto-docs' | ||
| - name: Upload presto-server tarball | ||
| if: matrix.java == '8.0.442' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: presto-server | ||
| path: presto-server/target/presto-server-0.293.tar.gz | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - name: Upload presto-cli executable | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| if: matrix.java == '8.0.442' | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: presto-cli | ||
| path: presto-cli/target/presto-cli-0.293-executable.jar | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - name: Clean Maven Output | ||
|
||
| run: ./mvnw clean -pl '!:presto-server,!:presto-cli,!presto-test-coverage' | ||
|
|
||
coderabbitai[bot] marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| presto-coordinator-with-clp-connector-runtime-image: | ||
|
||
| name: presto-coordinator-runtime-image | ||
| needs: maven-checks | ||
| runs-on: ubuntu-22.04 | ||
| if: ${{ always() && success() }} | ||
|
||
| steps: | ||
coderabbitai[bot] marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| - uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683" | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| with: | ||
| submodules: "recursive" | ||
|
|
||
| - name: Download presto-server | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: presto-server | ||
| path: ./docker | ||
|
|
||
| - name: Download presto-cli | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: presto-cli | ||
| path: ./docker | ||
|
|
||
| - name: "Login to image registry" | ||
| uses: "docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772" | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| with: | ||
| registry: ghcr.io | ||
| username: ${{github.actor}} | ||
| password: ${{secrets.GITHUB_TOKEN}} | ||
|
|
||
| - name: "Update Metadata" | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| id: "meta" | ||
| uses: "docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804" | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| with: | ||
| images: >- | ||
| ghcr.io/${{github.repository}}/coordinator-with-clp-connector-runtime | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| tags: | | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| type=raw,value=centos9 | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| - name: "Build and push" | ||
| uses: "docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4" | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| with: | ||
| build-args: |- | ||
| PRESTO_VERSION=0.293 | ||
| JMX_PROMETHEUS_JAVA_AGENT_VERSION=0.20.0 | ||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| context: "./docker/" | ||
| file: "./docker/Dockerfile" | ||
| push: >- | ||
| ${{github.event_name != 'pull_request' | ||
| && github.ref == 'refs/heads/release-0.293-clp-connector'}} | ||
| tags: "${{steps.meta.outputs.tags}}" | ||
| labels: "${{steps.meta.outputs.labels}}" | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,68 @@ | ||||||||||||||||||||||||||||||||||||||||||||||
| name: prestocpp-worker-with-clp-connector-runtime-image-build | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||||||||||||||||||
| # TODO: specifiy the branch to the release-0.293 when finalize the PR | ||||||||||||||||||||||||||||||||||||||||||||||
| pull_request: | ||||||||||||||||||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||||||||||||||||||
| prestocpp-worker-with-clp-connector-runtime-image: | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| name: prestocpp-worker-with-clp-connector-runtime-image | ||||||||||||||||||||||||||||||||||||||||||||||
| runs-on: ubuntu-22.04 | ||||||||||||||||||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||||||||||||||||||
| - uses: "actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683" | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| submodules: "recursive" | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: "Login to Image Registry" | ||||||||||||||||||||||||||||||||||||||||||||||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||||||||||||||||
| uses: "docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772" | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| registry: ghcr.io | ||||||||||||||||||||||||||||||||||||||||||||||
| username: ${{github.actor}} | ||||||||||||||||||||||||||||||||||||||||||||||
| password: ${{secrets.GITHUB_TOKEN}} | ||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: "Update Metadata for Dependency Image" | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| id: "meta-dependency" | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| uses: "docker/metadata-action@902fa8ec7d6ecbf8d84d538b9b233a880e428804" | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| images: >- | ||||||||||||||||||||||||||||||||||||||||||||||
| ghcr.io/${{github.repository}}/prestissimo-with-clp-connector-dependency | ||||||||||||||||||||||||||||||||||||||||||||||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||||||||||||||||
| tags: | | ||||||||||||||||||||||||||||||||||||||||||||||
anlowee marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||||||||||||||||||||
| type=raw,value=ubuntu-22.04 | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: "Build and push" | ||||||||||||||||||||||||||||||||||||||||||||||
| uses: "docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4" | ||||||||||||||||||||||||||||||||||||||||||||||
| with: | ||||||||||||||||||||||||||||||||||||||||||||||
| context: "./presto-native-execution/" | ||||||||||||||||||||||||||||||||||||||||||||||
| file: "./presto-native-execution/scripts/dockerfiles/ubuntu-22.04-dependency.dockerfile" | ||||||||||||||||||||||||||||||||||||||||||||||
| push: >- | ||||||||||||||||||||||||||||||||||||||||||||||
| ${{github.event_name != 'pull_request' | ||||||||||||||||||||||||||||||||||||||||||||||
| && github.ref == 'refs/heads/release-0.293-clp-connector'}} | ||||||||||||||||||||||||||||||||||||||||||||||
| tags: "${{steps.meta-dependency.outputs.tags}}" | ||||||||||||||||||||||||||||||||||||||||||||||
| labels: "${{steps.meta-dependency.outputs.labels}}" | ||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||
| - name: "Build and push" | |
| uses: "docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4" | |
| with: | |
| context: "./presto-native-execution/" | |
| file: "./presto-native-execution/scripts/dockerfiles/ubuntu-22.04-dependency.dockerfile" | |
| push: >- | |
| ${{github.event_name != 'pull_request' | |
| && github.ref == 'refs/heads/release-0.293-clp-connector'}} | |
| tags: "${{steps.meta-dependency.outputs.tags}}" | |
| labels: "${{steps.meta-dependency.outputs.labels}}" | |
| - name: "Build and push" | |
| uses: "docker/build-push-action@471d1dc4e07e5cdedd4c2171150001c434f0b7a4" | |
| with: | |
| cache-from: type=registry,ref=ghcr.io/${{github.repository}}/prestissimo-with-clp-connector-dependency:cache | |
| cache-to: type=registry,ref=ghcr.io/${{github.repository}}/prestissimo-with-clp-connector-dependency:cache,mode=max | |
| context: "./presto-native-execution/" | |
| file: "./presto-native-execution/scripts/dockerfiles/ubuntu-22.04-dependency.dockerfile" | |
| push: >- | |
| ${{github.event_name != 'pull_request' | |
| && github.ref == 'refs/heads/release-0.293-clp-connector'}} | |
| tags: "${{steps.meta-dependency.outputs.tags}}" | |
| labels: "${{steps.meta-dependency.outputs.labels}}" |
🤖 Prompt for AI Agents
In .github/workflows/prestocpp-worker-with-clp-connector-runtime-image-build.yml
around lines 33 to 42, the Docker build step does not use layer caching, causing
full rebuilds on every run. To fix this, enable the built-in cache for the
docker/build-push-action by adding the 'cache-from' and 'cache-to' options with
appropriate settings to reuse layers between builds and speed up the CI process.
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
DEPENDENCY_IMAGE may contain multiple tags → invalid ARG
steps.meta-dependency.outputs.tags is a newline-separated list (often multiple tags). Passing it verbatim to docker build --build-arg yields unknown flag: –t or pulls the wrong image.
- DEPENDENCY_IMAGE=${{ steps.meta-dependency.outputs.tags }}
+ # Use the first tag only
+ DEPENDENCY_IMAGE=${{ steps.meta-dependency.outputs.tags%%$'\n'* }}Committable suggestion skipped: line range outside the PR's diff.
🤖 Prompt for AI Agents
In .github/workflows/prestocpp-worker-with-clp-connector-runtime-image-build.yml
around lines 56 to 59, the DEPENDENCY_IMAGE build argument is set directly from
steps.meta-dependency.outputs.tags, which can contain multiple newline-separated
tags causing invalid ARG errors. To fix this, modify the workflow to extract and
pass only a single valid tag (e.g., the first tag) from the output instead of
the entire list, ensuring the build-arg receives a proper single image tag
string.
Uh oh!
There was an error while loading. Please reload this page.