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]
