How to create an internal score fork [DRAFT] #1705
Replies: 3 comments
-
Good initiative! For "public first" I think it could be sufficient to have only that public fork. At least for initial & simple contributions. Or at least one could start with only public, then public/internal. Additional / more detailed reasons for internal forks I can think of:
|
Beta Was this translation helpful? Give feedback.
-
Here is how we do it at Qorix : we have a dedicated publishing workflow for internal forks, triggered manually, whenever we want to align/push. Qorix Pseudo-fork Publisher WorkflowWe have a repository that provides a GitHub Action workflow to automate publishing a development branch from an internal repository to a public fork. It's designed for projects where internal code is staged before being contributed to an upstream open-source repository. 📘 Background: Why Use a Private Repository in Addition to a Public Fork?In our development model, we use three repositories per project:
Naming ConventionWe follow a strict naming convention to simplify automation:
Why this structure?
Visual Diagram:
🔐 Using a GitHub App for Secure AutomationTo avoid using personal access tokens (PATs) and to enable secure automation at the org level, we use a GitHub App - the ✅ Why Use a GitHub App?
🛠 How it was Set Up
🛠 Request accessIf new repos are created, request 🔑 Token Generation in WorkflowIn your workflow, generate a scoped token using the tibdex/github-app-token action: - name: Generate GitHub App token
id: generate_token
uses: tibdex/github-app-token@v2
with:
app_id: ${{ secrets.GH_APP_ID }}
private_key: ${{ secrets.GH_APP_PRIVATE_KEY }} This token is then used in subsequent steps to clone, fetch, or push to repos securely. ⚙️ What This Workflow DoesThis GitHub Action:
The branch can then be used to open a PR into the upstream project.
|
Beta Was this translation helpful? Give feedback.
-
Moved to https://github.com/eclipse-score/score/blob/fork/docs/contribute/fork/index.md to make working on it easier |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Forking the SCORE Organization: Public & Private Forks
Partners working with SCORE typically need two forks:
This guide introduces the concept at three levels of detail:
1. Executive Level (Why)
2. Normal Level (What)
Fork Types
Public Forks
Private/Internal Forks
main
,release/*
).internal/main
,internal/feature/*
).Contribution Models
Internal-first (gated):
Public-first (open):
3. Implementation Level (How)
Repo Sync
main
,release/*
) into private fork; avoid overwritinginternal/*
.git push --mirror
except at initial seed or for read-only mirrors.Branch Layout
main
,release/*
→ upstream mirrors (bot-only updates).internal/*
→ private company branches.feature/*
→ short-lived public fork branches for upstream PRs.Protections & Policies
internal/*
.Promotion Flow
CI Hooks
TL;DR
Beta Was this translation helpful? Give feedback.
All reactions