+
Skip to content

Conversation

AlexanderLanin
Copy link
Member

@AlexanderLanin AlexanderLanin commented Sep 1, 2025

@dcalavrezo-qorix dcalavrezo-qorix self-requested a review September 1, 2025 11:50
Copy link

github-actions bot commented Sep 1, 2025

The created documentation from the pull request is available at: docu-html

@AlexanderLanin AlexanderLanin marked this pull request as ready for review September 1, 2025 12:04
@Copilot Copilot AI review requested due to automatic review settings September 1, 2025 12:04
Copy link

@Copilot Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR replaces a placeholder RST file with a comprehensive Markdown design document that outlines the integration strategy for external development tools. The document establishes standards for tool distribution, version pinning, and execution consistency across different environments.

  • Converts format from RST to Markdown while expanding content significantly
  • Documents a multi-pronged approach using devcontainers, Bazel aspects, and native installs
  • Categorizes tools by their integration requirements and optimal distribution methods

Reviewed Changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
docs/design_decisions/DR-001-infra.rst Removes placeholder RST file with basic copyright header
docs/design_decisions/DR-001-infra.md Adds comprehensive design document detailing tool integration strategy with requirements, options analysis, and implementation approach

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@opajonk opajonk left a comment

Choose a reason for hiding this comment

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

Minor remarks. Nothing critical (but it would be nice to check if that can be included), hence approving.

2. **Config Consistency**: Central baseline config; explicit, reviewable local overrides with drift detection.
3. **Performance**: Fast full and incremental runs; leverage remote cache/execution for heavy, Bazel-config-dependent tools.
4. **Offline & Retention**: Prefetch & store artifacts for ≥10 years; fully offline execution path.
5. **Platforms**: Ubuntu x86_64 + additional to be defined, e.g. Alpine, arm64 etc.
Copy link
Contributor

Choose a reason for hiding this comment

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

This should refer to the platform definition document once it is established. This may or may not happen before this PR is complete ;-)

Copy link
Member Author

Choose a reason for hiding this comment

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

Yeah sure! We can add a reference afterwards. But it's not critical for the decision here.

## 5. Conclusion

- **Devcontainer** is the primary distribution for all tools, ensuring consistency and ease of onboarding.
- The same devcontainer (possibly stripped down) is used in CI for reproducibility.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- The same devcontainer (possibly stripped down) is used in CI for reproducibility.
- The same devcontainer (possibly stripped down) is used in CI for reproducibility.
However, it must be ensured that the devcontainer strictly builds _on top_ of the CI container to avoid that CI issues cannot be reproduced locally.

Copy link
Member Author

Choose a reason for hiding this comment

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

I would like to pull details to the next level of detail, when we talk about how to implement this DR. I'll add this without explicitly specifying on top.

- **Devcontainer** is the primary distribution for all tools, ensuring consistency and ease of onboarding.
- The same devcontainer (possibly stripped down) is used in CI for reproducibility.
- **Bazel aspects** are used for tools that benefit from Bazel-config-dependent analysis or caching. Custom Bazel rules are possible but not actively pursued.
- For small/fast CI jobs, **native installs** are preferred due to speed, especially when version pinning is less critical (see Deep Dive 4.3).
Copy link
Contributor

Choose a reason for hiding this comment

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

Could be, but I would first try containers. Maybe CI + devcontainer on top. One problem, one solution. Otherwise, I can already see the "oops we forgot to bump this tool here - that is why it broke!!" issues... after many hours of investigation.

Copy link
Member Author

Choose a reason for hiding this comment

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

Versioning etc I would like to pull to the next level of detail, when we talk about how to implement this DR.

@AlexanderLanin AlexanderLanin merged commit 22dd313 into eclipse-score:main Sep 8, 2025
6 checks passed
@AlexanderLanin AlexanderLanin deleted the dr-001 branch September 8, 2025 13:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载