Skip to content
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

Generate Branch & orgs strategy from config #973

Open
nvuillam opened this issue Jan 4, 2025 · 6 comments
Open

Generate Branch & orgs strategy from config #973

nvuillam opened this issue Jan 4, 2025 · 6 comments

Comments

@nvuillam
Copy link
Member

nvuillam commented Jan 4, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction LR
        subgraph BuildBranches [BUILD Branches]
            direction TB
            FeatureBranch1[Feature Branch 1]
            FeatureBranch2[Feature Branch 2]
            IntegrationBranch[Integration]
            UATBranch[UAT]
        end
        subgraph RunBranches [RUN Branches]
            direction TB
            HotFixBranch1[HotFix 1]
            HotFixBranch2[HotFix 2]
            PreprodBranch[Preprod]
            MainBranch[Main]
        end
    end

    FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
    FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
    IntegrationBranch --> |"RM Merge Request"| UATBranch
    UATBranch --> |"RM Merge Request"| PreprodBranch
    HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
    HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
    PreprodBranch --> |"RM Merge Request"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    MainBranch -. "Deploy" .-> MainOrg
    PreprodBranch -. "Deploy" .-> PreprodOrg
    UATBranch -. "Deploy" .-> UATOrg
    IntegrationBranch -. "Deploy" .-> IntegrationOrg

    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
Loading
@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]
        FeatureBranch2[Feature Branch 2]
        IntegrationBranch[Integration]
        UATBranch[UAT]
        HotFixBranch1[HotFix 1]
        HotFixBranch2[HotFix 2]
        PreprodBranch[Preprod]
        MainBranch[Main]
    end

    FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
    FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
    IntegrationBranch --> |"RM Merge Request"| UATBranch
    UATBranch --> |"RM Merge Request"| PreprodBranch
    HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
    HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
    PreprodBranch --> |"RM Merge Request"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    MainBranch -. "Deploy" .-> MainOrg
    PreprodBranch -. "Deploy" .-> PreprodOrg
    UATBranch -. "Deploy" .-> UATOrg
    IntegrationBranch -. "Deploy" .-> IntegrationOrg

    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
Loading

@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]
        FeatureBranch2[Feature Branch 2]
        IntegrationBranch[Integration]
        UATBranch[UAT]
        HotFixBranch1[HotFix 1]
        HotFixBranch2[HotFix 2]
        PreprodBranch[Preprod]
        MainBranch[Main]
    end

    FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
    FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
    IntegrationBranch --> |"RM Merge Request"| UATBranch
    UATBranch --> |"RM Merge Request"| PreprodBranch
    HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
    HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
    PreprodBranch --> |"RM Merge Request"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    subgraph SalesforceDevOrgs [Salesforce Orgs]
        direction TB
        SandboxDev1(["Sandbox Dev 1"]):::salesforce
        SandboxDev2(["Sandbox Dev 2"]):::salesforce
        SandboxHotFix1(["Sandbox HotFix 1"]):::salesforce
        SandboxHotFix2(["Sandbox HotFix 2"]):::salesforce
    end

    MainBranch -. "Deploy to Org" .-> MainOrg
    PreprodBranch -. "Deploy to Org" .-> PreprodOrg
    UATBranch -. "Deploy to Org" .-> UATOrg
    IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg

    SandboxDev1 -. Push / Pull .-> FeatureBranch1
    SandboxDev2 -. Push / Pull .-> FeatureBranch2
    SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
    SandboxHotFix2 -. Push / Pull .-> HotFixBranch2

    MainBranch --> |Retrofit| IntegrationBranch

    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
Loading

@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]
        FeatureBranch2[Feature Branch 2]
        IntegrationBranch[Integration]
        UATBranch[UAT]
        HotFixBranch1[HotFix 1]
        HotFixBranch2[HotFix 2]
        PreprodBranch[Preprod]
        MainBranch[Main]
    end

    FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
    FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
    IntegrationBranch --> |"RM Merge Request"| UATBranch
    UATBranch --> |"RM Merge Request"| PreprodBranch
    HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
    HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
    PreprodBranch --> |"RM Merge Request"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
        direction TB
        SandboxDev1(["Sandbox Dev 1"]):::salesforce
        SandboxDev2(["Sandbox Dev 2"]):::salesforce

    end
    subgraph SalesforceDevOrgsHotfix [Salesforce Orgs RUN]
        SandboxHotFix1(["Sandbox HotFix 1"]):::salesforce
        SandboxHotFix2(["Sandbox HotFix 2"]):::salesforce
    end 
    MainBranch -. "Deploy to Org" .-> MainOrg
    PreprodBranch -. "Deploy to Org" .-> PreprodOrg
    UATBranch -. "Deploy to Org" .-> UATOrg
    IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg

    SandboxDev1 -. Push / Pull .-> FeatureBranch1
    SandboxDev2 -. Push / Pull .-> FeatureBranch2
    SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
    SandboxHotFix2 -. Push / Pull .-> HotFixBranch2

    MainBranch --> |Retrofit| IntegrationBranch

    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
Loading

@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]:::git-feature
        FeatureBranch2[Feature Branch 2]:::git-feature
        IntegrationBranch[Integration]:::git-major
        UATBranch[UAT]:::git-major
        HotFixBranch1[HotFix 1]:::git-feature
        HotFixBranch2[HotFix 2]:::git-feature
        PreprodBranch[Preprod]:::git-major
        MainBranch[Main]:::git-major
    end

    FeatureBranch1 --> |"Contributor Merge Request"| IntegrationBranch
    FeatureBranch2 --> |"Contributor Merge Request"| IntegrationBranch
    IntegrationBranch --> |"RM Merge Request"| UATBranch
    UATBranch --> |"RM Merge Request"| PreprodBranch
    HotFixBranch1 --> |"Contributor Merge Request"| PreprodBranch
    HotFixBranch2 --> |"Contributor Merge Request"| PreprodBranch
    PreprodBranch --> |"RM Merge Request"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
        direction TB
        SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
        SandboxDev2(["Sandbox Dev 2"]):::salesforceDev

    end
    subgraph SalesforceDevOrgsHotfix [Salesforce Orgs RUN]
        SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
        SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
    end 
    MainBranch -. "Deploy to Org" .-> MainOrg
    PreprodBranch -. "Deploy to Org" .-> PreprodOrg
    UATBranch -. "Deploy to Org" .-> UATOrg
    IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg

    SandboxDev1 -. Push / Pull .-> FeatureBranch1
    SandboxDev2 -. Push / Pull .-> FeatureBranch2
    SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
    SandboxHotFix2 -. Push / Pull .-> HotFixBranch2

    MainBranch --> |Retrofit| IntegrationBranch

    classDef salesforceDev fill:#9f9ae6,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
    classDef git-major fill:#ed375b,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
    classDef git-feature fill:#abebc8,stroke:#0070D2,stroke-width:2px,color:whiblackte,font-weight:bold,border-radius:50px
Loading

@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]:::git-feature
        FeatureBranch2[Feature Branch 2]:::git-feature
        IntegrationBranch[Integration]:::git-major
        UATBranch[UAT]:::git-major
        HotFixBranch1[HotFix 1]:::git-feature
        HotFixBranch2[HotFix 2]:::git-feature
        PreprodBranch[Preprod]:::git-major
        MainBranch[Main]:::git-major
    end

    FeatureBranch1 --> |"MR"| IntegrationBranch
    FeatureBranch2 --> |"MR"| IntegrationBranch
    IntegrationBranch --> |"MR"| UATBranch
    UATBranch --> |"MR"| PreprodBranch
    HotFixBranch1 --> |"MR"| PreprodBranch
    HotFixBranch2 --> |"MR"| PreprodBranch
    PreprodBranch --> |"MR"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
        direction TB
        SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
        SandboxDev2(["Sandbox Dev 2"]):::salesforceDev

    end
    subgraph SalesforceDevOrgsRun [Salesforce Orgs RUN]
        SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
        SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
    end 
    MainBranch -. "Deploy to Org" .-> MainOrg
    PreprodBranch -. "Deploy to Org" .-> PreprodOrg
    UATBranch -. "Deploy to Org" .-> UATOrg
    IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg

    SandboxDev1 -. Push / Pull .-> FeatureBranch1
    SandboxDev2 -. Push / Pull .-> FeatureBranch2
    SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
    SandboxHotFix2 -. Push / Pull .-> HotFixBranch2

    MainBranch --> |Retrofits from RUN to BUILD| IntegrationBranch

    classDef salesforceDev fill:#7aebe7,stroke:#0070D2,stroke-width:2px,color:black,font-weight:bold,border-radius:50px;
    classDef salesforce fill:#00A1E0,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
    classDef git-major fill:#ed375b,stroke:#0070D2,stroke-width:2px,color:white,font-weight:bold,border-radius:50px;
    classDef git-feature fill:#abebc8,stroke:#0070D2,stroke-width:2px,color:whiblackte,font-weight:bold,border-radius:50px

    style GitBranches fill:#eef5da,stroke:#333,stroke-width:1px;
    style SalesforceOrgs fill:#daf5f3,stroke:#333,stroke-width:1px;
    style SalesforceDevOrgs fill:#daf5f3,stroke:#333,stroke-width:1px;
    style SalesforceDevOrgsRun fill:#daf5f3,stroke:#333,stroke-width:1px;
Loading

@nvuillam
Copy link
Member Author

nvuillam commented Jan 5, 2025

flowchart LR
    subgraph GitBranches [Git Branches]
        direction TB
        FeatureBranch1[Feature Branch 1]:::git-feature
        FeatureBranch2[Feature Branch 2]:::git-feature
        IntegrationBranch[Integration]:::git-major
        UATBranch[UAT]:::git-major
        HotFixBranch1[HotFix 1]:::git-feature
        HotFixBranch2[HotFix 2]:::git-feature
        PreprodBranch[Preprod]:::git-major
        MainBranch[Main]:::git-main
    end

    FeatureBranch1 --> |"MR"| IntegrationBranch
    FeatureBranch2 --> |"MR"| IntegrationBranch
    IntegrationBranch --> |"MR"| UATBranch
    UATBranch --> |"MR"| PreprodBranch
    HotFixBranch1 --> |"MR"| PreprodBranch
    HotFixBranch2 --> |"MR"| PreprodBranch
    PreprodBranch --> |"MR"| MainBranch

    subgraph SalesforceOrgs [Salesforce Orgs]
        direction TB
        MainOrg(["Production Org"]):::salesforce
        PreprodOrg(["Preprod Org"]):::salesforce
        UATOrg(["UAT Org"]):::salesforce
        IntegrationOrg(["Integration Org"]):::salesforce
    end

    subgraph SalesforceDevOrgs [Salesforce Orgs BUILD]
        direction TB
        SandboxDev1(["Sandbox Dev 1"]):::salesforceDev
        SandboxDev2(["Sandbox Dev 2"]):::salesforceDev
    end

    subgraph SalesforceDevOrgsRun [Salesforce Orgs RUN]
        SandboxHotFix1(["Sandbox HotFix 1"]):::salesforceDev
        SandboxHotFix2(["Sandbox HotFix 2"]):::salesforceDev
    end 

    MainBranch -. "Deploy to Org" .-> MainOrg
    PreprodBranch -. "Deploy to Org" .-> PreprodOrg
    UATBranch -. "Deploy to Org" .-> UATOrg
    IntegrationBranch -. "Deploy to Org" .-> IntegrationOrg

    SandboxDev1 -. Push / Pull .-> FeatureBranch1
    SandboxDev2 -. Push / Pull .-> FeatureBranch2
    SandboxHotFix1 -. Push / Pull .-> HotFixBranch1
    SandboxHotFix2 -. Push / Pull .-> HotFixBranch2

    MainBranch --> |Retrofits from RUN to BUILD| IntegrationBranch

    classDef salesforceDev fill:#A9E8F8,stroke:#004E8A,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
    classDef salesforce fill:#0088CE,stroke:#004E8A,stroke-width:2px,color:white,font-weight:bold,border-radius:10px;
    classDef git-major fill:#FFC107,stroke:#D84315,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
    classDef git-main fill:#FF6F61,stroke:#FF6F00,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
    classDef git-feature fill:#B5EAD7,stroke:#2E7D32,stroke-width:2px,color:black,font-weight:bold,border-radius:10px;
    
    style GitBranches fill:#F4F4F9,stroke:#7C4DFF,stroke-width:1px;
    style SalesforceOrgs fill:#E8F5E9,stroke:#1B5E20,stroke-width:1px;
    style SalesforceDevOrgs fill:#E1F5FE,stroke:#0288D1,stroke-width:1px;
    style SalesforceDevOrgsRun fill:#F3E5F5,stroke:#6A1B9A,stroke-width:1px;

Loading

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

No branches or pull requests

1 participant