Skip to content

[WIP] Add ccache to prestissimo dependency image #25132

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

unidevel
Copy link
Contributor

@unidevel unidevel commented May 16, 2025

Description

The PR will:

  1. Add prestissimo ccache to the dependency image to improve the build performance with docker.
  2. Provide a docker dev env to quicky build & test prestissimo
service desc layer
ubuntu/centos-native-dependency bootstrap OS + deps
ubuntu/centos-native-ccache: intermediate (repeatable and incremental) dockerhub: OS + deps + ccache
local: OS + deps + ccache + ccache2 + cache3 + ...
ubuntu/centos-native-runtime: final build OS + prestissimo

Motivation and Context

  1. Accelerate the build process for prestissimo in Docker environments.
  2. Provide an easy way to update ccache and distribute the updated image via Docker Hub.
  3. Improve build performance on devices/VMs with limited memory (8–16 GB)

Impact

Test Plan

Test dev env:

  1. Pull the image from https://hub.docker.com/r/unidevel/prestissimo-dev/tags
docker pull unidevel/prestissimo-dev:ubuntu-22.04
docker tag unidevel/prestissimo-dev:ubuntu-22.04 presto/prestissimo-dependency:ubuntu-22.04
  1. Check my presto repo with this PR
git clone --branch ccache --depth 1 [email protected]:unidevel/presto.git
  1. Run the commands to start the docker env
cd presto/presto-native-execution
make submodules
docker compose run --rm ubuntu-native-dev
  1. Inside the docker container, build presitissimo
make clean
make
make debug

Contributor checklist

  • Please make sure your submission complies with our contributing guide, in particular code style and commit standards.
  • PR description addresses the issue accurately and concisely. If the change is non-trivial, a GitHub Issue is referenced.
  • Documented new properties (with its default value), SQL syntax, functions, or other functionality.
  • If release notes are required, they follow the release notes guidelines.
  • Adequate tests were added if applicable.
  • CI passed.

Release Notes

Please follow release notes guidelines and fill in the release notes below.

== NO RELEASE NOTE ==

@prestodb-ci prestodb-ci added the from:IBM PR from IBM label May 16, 2025
@@ -22,6 +22,7 @@ ENV SUDO=" "
# are required to avoid tzdata installation
# to prompt for region selection.
ENV TZ=${tz}
ENV LDFLAGS="-no-pie"
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed the issue #20002

@unidevel unidevel force-pushed the ccache branch 2 times, most recently from 3a4a058 to 2120a33 Compare May 16, 2025 15:32
@unidevel unidevel changed the title [WIP] Add ccache to dependency image [WIP] Add ccache to prestissimo dependency image May 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
from:IBM PR from IBM
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants