-
Notifications
You must be signed in to change notification settings - Fork 61
add forking guide #1731
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
add forking guide #1731
Conversation
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.
Pull Request Overview
This PR introduces an "Enterprise Forking Guide for S-CORE Repositories" to help companies understand how to structure forks effectively for both internal development and upstream contribution. The guide provides a decision framework for organizations managing both private and public code flows.
- Comprehensive forking strategy documentation covering public, internal, and hybrid approaches
- Practical implementation guidance including workflows, tooling (Copybara), and CI integration
- Technical examples for git workflows and repository management
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.
File | Description |
---|---|
docs/contribute/index.rst | Adds fork/index to the documentation table of contents |
docs/contribute/fork/index.md | New comprehensive guide covering enterprise forking strategies, workflows, and tooling |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
|
||
--- | ||
|
||
## Rest, unsorted |
Copilot
AI
Sep 15, 2025
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.
This section header indicates incomplete organization. Consider creating proper section titles and organizing the content appropriately before merging, or remove this placeholder heading if the content below is intentionally unsorted.
## Rest, unsorted | |
## Transformation and Filtering Pipelines |
Copilot uses AI. Check for mistakes.
|
||
Prefer GitHub Apps for automated CI access where possible; fine-grained PATs increase token-management overhead and invite accidental long-lived credential exposure. | ||
|
||
TODO: add short examples and links to recommended app installation steps. |
Copilot
AI
Sep 15, 2025
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.
This TODO comment indicates incomplete documentation. Either complete the missing examples and links or remove this line if the information will be added in a follow-up PR.
TODO: add short examples and links to recommended app installation steps. | |
**Example:** | |
To automate CI access, create or install a [GitHub App](https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app) with only the permissions your workflow needs (e.g., `contents: read`, `pull requests: write`). | |
- [Installing a GitHub App on your organization](https://docs.github.com/en/apps/using-github-apps/installing-github-apps) | |
- [Configuring permissions for a GitHub App](https://docs.github.com/en/apps/creating-github-apps/registering-a-github-app#choosing-permissions) |
Copilot uses AI. Check for mistakes.
app_id: ${{ secrets.GH_APP_ID }} | ||
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} |
Copilot
AI
Sep 15, 2025
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.
The YAML indentation is inconsistent. The app_id
and private_key
lines should be indented to align with the with:
block above them.
app_id: ${{ secrets.GH_APP_ID }} | |
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} | |
app_id: ${{ secrets.GH_APP_ID }} | |
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} |
Copilot uses AI. Check for mistakes.
git config --global user.name "Qorix Bot" | ||
git config --global user.email "bot@qorix.dev" | ||
echo "https://x-access-token:${{ steps.generate_token.outputs.token }}@github.com" > ~/.git-credentials | ||
|
||
- name: Run Copybara | ||
run: | | ||
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | ||
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | ||
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch |
Copilot
AI
Sep 15, 2025
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.
The YAML indentation is inconsistent. Lines 283-285 should be indented properly under the run: |
block.
git config --global user.name "Qorix Bot" | |
git config --global user.email "bot@qorix.dev" | |
echo "https://x-access-token:${{ steps.generate_token.outputs.token }}@github.com" > ~/.git-credentials | |
- name: Run Copybara | |
run: | | |
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | |
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | |
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch | |
git config --global user.name "Qorix Bot" | |
git config --global user.email "bot@qorix.dev" | |
echo "https://x-access-token:${{ steps.generate_token.outputs.token }}@github.com" > ~/.git-credentials | |
- name: Run Copybara | |
run: | | |
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | |
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | |
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch |
Copilot uses AI. Check for mistakes.
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | ||
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | ||
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch |
Copilot
AI
Sep 15, 2025
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.
The YAML indentation is inconsistent. Lines 289-290 should be indented properly under the run: |
block.
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | |
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | |
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch | |
sed -i "s/{{BRANCH}}/${{ github.event.inputs.branch_name }}/g" copy.bara.sky | |
curl -LO https://github.com/qorix-group/copybara/releases/download/v20250508/copybara_deploy.jar | |
java -jar copybara_deploy.jar migrate copy.bara.sky publish_branch |
Copilot uses AI. Check for mistakes.
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.
indentation was changed by copilot from 4 to 2 spaces... 😮💨
The created documentation from the pull request is available at: docu-html |
Constraints | ||
|
||
- Requires internal infrastructure and operational processes to manage branches, reviews, and syncing. | ||
- Demands disciplined synchronization from upstream to avoid painful drift and costly merges. | ||
- Typically increases TTM (time-to-merge) for open contributions; may hinder collaborative workflows. |
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.
Another constraint is that it's hatd to deal with code reviews in the PR in S-CORE itself. Are the requested adaptions then directly done in the public or again first internally?
The default remote names will be: | ||
|
||
- `origin`: your fork (e.g. `my_company/score`) | ||
- `upstream`: the original repo (e.g. `eclipse-score/score`) |
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.
Do you know whether one can raise a PR from a non-public fork to S-CORE?
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.
See internal-fork description.
--> "No contributions possible."
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.
LGTM just add examples for it (as you already set in TODO)
I'll merge this as-is and resolve TODO in a future PR. |
Add an "Enterprise Forking Guide for S-CORE Repositories"
Content is up to lots of discussions :-)