felipepessoto opened a new issue, #12850:
URL: https://github.com/apache/gluten/issues/12850

   ### Description
   
   Follow-up to #12778 and [this review 
discussion](https://github.com/apache/gluten/pull/12778#issuecomment-5344022936).
   
   VS Code and GitHub Codespaces support multiple Dev Container configurations 
under `.devcontainer/<name>/devcontainer.json`. Expose separate development 
environments through this supported layout while keeping the validated Velox 
dynamic-link environment as the default.
   
   ### Motivation
   
   - The dynamic-link image is the best default for daily Velox development: it 
starts quickly, includes `/opt/shims` for Spark tests, and leaves the native 
build under the developer's control.
   - A static-link environment can still be useful for reproducing packaging 
and vcpkg-specific problems.
   - The previous static setup was CI-oriented and should not be restored 
unchanged: it automatically ran a long native build, fixed `NUM_THREADS=2`, 
enabled every cloud-filesystem dependency, and lacked `/opt/shims`.
   - Tracking this separately keeps #12778 focused on fixing the default 
configuration.
   
   ### Proposed scope
   
   - Keep `.devcontainer/devcontainer.json` as the default Velox dynamic-link 
configuration.
   - Add a named Velox static-link configuration under 
`.devcontainer/<name>/devcontainer.json`.
   - Make the static configuration development-oriented:
     - do not run the native build during container creation;
     - print a manual build command with memory-aware parallelism;
     - select one Spark version instead of building the full matrix;
     - make S3, GCS, HDFS, and ABFS optional;
     - use environment settings appropriate for static linking.
   - Decide whether the static environment should install `/opt/shims` for 
Spark tests or be explicitly limited to static packaging and reproduction.
   - Share or parameterize setup scripts where practical. Dev Container 
configurations cannot inherit from each other, so avoid duplicated logic that 
can drift.
   - Document how to select each configuration in VS Code and Codespaces.
   
   ### Non-goals
   
   - Changing the default back to static linking.
   - Running long native builds during `postCreateCommand`.
   - Adding ClickHouse or GPU configurations without design, validation, and 
ownership from contributors familiar with those backends.
   
   ### Acceptance criteria
   
   - VS Code and Codespaces present the available configurations to the user.
   - The existing Velox dynamic-link workflow remains the default and continues 
to build and test successfully.
   - The static configuration opens without starting a native build.
   - Its documented manual static build is validated end to end.
   - The documentation clearly describes the purpose and limitations of each 
configuration.
   
   ### Open questions
   
   - Should the static configuration install `/opt/shims`, or should it be 
labelled as packaging/reproduction only?
   - Should dynamic and static configurations share a parameterized post-create 
script or use small backend-specific wrappers?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to