Skip to content

Instantly share code, notes, and snippets.

@t3chguy
Last active October 24, 2023 13:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save t3chguy/db4750121ebabac5274a05e9f83701bb to your computer and use it in GitHub Desktop.
Save t3chguy/db4750121ebabac5274a05e9f83701bb to your computer and use it in GitHub Desktop.
---
title: At 09:00 AM & element-desktop Release & Manual
---
flowchart LR
    subgraph ID0["Build and Deploy"]
        ID1-- needs -->ID2
        ID1-- needs -->ID3
        ID1-- needs -->ID4
        ID1-- needs -->ID5
        ID1-- needs -->ID6
        ID3-- needs -->ID6
        ID4-- needs -->ID6
        ID5-- needs -->ID6
        ID2-- needs -->ID6
        ID4-- needs -->ID7
        ID6-- needs -->ID7
        ID1[["prepare"]]
        click ID1 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        subgraph ID2["Windows ${{ matrix.arch }}"]
            ID8[["Windows x86"]]
            click ID8 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
            ID9[["Windows x64"]]
            click ID9 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        end
        ID3[["macOS"]]
        click ID3 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        subgraph ID4["Linux ${{ matrix.arch }} (sqlcipher system)"]
            IDa[["Linux amd64 (sqlcipher system)"]]
            click IDa href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
            IDb[["Linux arm64 (sqlcipher system)"]]
            click IDb href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        end
        ID5[["Linux (sqlcipher static)"]]
        click ID5 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        ID6[["Deploy"]]
        click ID6 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        subgraph ID7["Run reprepro ${{ matrix.arch }}"]
            IDc[["Run reprepro amd64"]]
            click IDc href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
            IDd[["Run reprepro arm64"]]
            click IDd href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_deploy.yaml" "Click to open workflow"
        end
    end
    IDe(("At 09:00 AM"))
    IDf(("element-desktop Release"))
    IDg(("Manual"))
    IDe --> ID0
    IDf --> ID0
    IDg --> ID0
---
title: Pull Request element-desktop & Push element-desktop develop & Push element-desktop master & Push element-desktop staging & Manual
---
flowchart LR
    subgraph ID0["Build and Test"]
        ID1-- needs -->ID2
        ID1-- needs -->ID3
        ID4-- needs -->ID3
        ID1-- needs -->ID5
        ID5-- needs -->ID6
        ID3-- needs -->ID6
        ID2-- needs -->ID6
        ID1[["fetch"]]
        click ID1 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        subgraph ID2["Windows"]
            ID7[["Windows (x64)"]]
            click ID7 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            ID8[["Windows (x86)"]]
            click ID8 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
        ID4[["Linux docker"]]
        click ID4 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        subgraph ID3["Linux (${{ matrix.arch }}) (sqlcipher: ${{ matrix.sqlcipher }})"]
            ID9[["Linux (amd64) (sqlcipher: system)"]]
            click ID9 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDa[["Linux (arm64) (sqlcipher: system)"]]
            click IDa href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDb[["Linux (amd64) (sqlcipher: static)"]]
            click IDb href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
        ID5[["macOS"]]
        click ID5 href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        subgraph ID6["Test ${{ matrix.name }}"]
            IDc[["Test macOS Universal"]]
            click IDc href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDd[["Test Linux (amd64) (sqlcipher: system)"]]
            click IDd href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDe[["Test Linux (amd64) (sqlcipher: static)"]]
            click IDe href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDf[["Test Windows (x86)"]]
            click IDf href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
            IDg[["Test Windows (x64)"]]
            click IDg href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/build_and_test.yaml" "Click to open workflow"
        end
    end
    IDh(("Pull Request<br>element-desktop"))
    IDi(("Push element-desktop<br>develop"))
    subgraph IDj["Dockerbuild"]
        IDk[["Docker Build"]]
        click IDk href "https://github.com/vector-im/element-desktop/blob/develop/.github/workflows/dockerbuild.yaml" "Click to open workflow"
    end
    IDl(("Push element-desktop<br>master"))
    IDm(("Push element-desktop<br>staging"))
    IDn(("Manual"))
    IDh --> ID0
    IDi --> ID0
    IDm --> ID0
    IDl --> ID0
    IDi --> IDj
    IDl --> IDj
    IDn --> IDj
---
title: Manual
---
flowchart LR
    subgraph ID0["Localazy Download"]
        ID1[["download"]]
        click ID1 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/localazy_download.yaml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: Push matrix-react-sdk develop & At 04:17 AM Monday through Friday & Pull Request matrix-react-sdk & Push matrix-react-sdk master
---
flowchart LR
    subgraph ID0["Localazy Upload"]
        ID1[["upload"]]
        click ID1 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/localazy_upload.yaml" "Click to open workflow"
    end
    ID2(("Push matrix-react-sdk<br>develop"))
    subgraph ID3["Element Web - Build"]
        ID4[["Build Element-Web"]]
        click ID4 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/element-web.yaml" "Click to open workflow"
    end
    subgraph ID5["Cypress End to End Tests"]
        ID6-- needs -->ID7
        ID6-- needs -->ID8
        ID7-- needs -->ID8
        ID6-- needs -->ID9
        ID7-- needs -->ID9
        ID6[["Prepare"]]
        click ID6 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
        subgraph ID7["Run Tests"]
            IDa[["Run Tests (1)"]]
            click IDa href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
            IDb[["Run Tests (2)"]]
            click IDb href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
            IDc[["Run Tests (3)"]]
            click IDc href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
            IDd[["Run Tests (4)"]]
            click IDd href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
        end
        ID8[["Report results"]]
        click ID8 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
        ID9[["Report results to kiwi"]]
        click ID9 href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/cypress.yaml" "Click to open workflow"
    end
    IDe(("At 04:17 AM<br>Monday through Friday"))
    IDf(("Pull Request<br>matrix-react-sdk"))
    IDg(("Push matrix-react-sdk<br>master"))
    subgraph IDh["Upload Preview Build to Netlify"]
        IDi[["deploy"]]
        click IDi href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/netlify.yaml" "Click to open workflow"
    end
    subgraph IDj["Notify element-web"]
        IDk[["Notify Element Web"]]
        click IDk href "https://github.com/matrix-org/matrix-react-sdk/blob/develop/.github/workflows/notify-element-web.yml" "Click to open workflow"
    end
    ID2 --> ID0
    ID2 --> ID3
    ID2 --> IDj
    ID3-- workflow_run -->ID5
    IDe --> ID3
    IDf --> ID3
    IDg --> ID3
    ID3-- workflow_run -->IDh
---
title: Pull Request matrix-js-sdk & Push matrix-js-sdk develop & Push matrix-js-sdk master
---
flowchart LR
    subgraph ID0["Static Analysis"]
        ID1[["Typescript Syntax Check"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID2[["ESLint"]]
        click ID2 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
        ID3[["JSDoc Checker"]]
        click ID3 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/static_analysis.yml" "Click to open workflow"
    end
    ID4(("Pull Request<br>matrix-js-sdk"))
    subgraph ID5["Tests"]
        ID6-- needs -->ID7
        subgraph ID8["Jest [${{ matrix.specs }}] (Node ${{ matrix.node }})"]
            ID9[["Jest [integ] (Node 18)"]]
            click ID9 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDa[["Jest [integ] (Node latest)"]]
            click IDa href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDb[["Jest [unit] (Node 18)"]]
            click IDb href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
            IDc[["Jest [unit] (Node latest)"]]
            click IDc href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        end
        ID6[["Downstream test matrix-react-sdk"]]
        click ID6 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
        ID7[["Downstream tests"]]
        click ID7 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/tests.yml" "Click to open workflow"
    end
    subgraph IDd["SonarQube"]
        IDe-- needs -->IDf
        IDe[["Prepare"]]
        click IDe href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/sonarqube.yml" "Click to open workflow"
        IDf[["🩻 SonarQube"]]
        click IDf href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/sonarqube.yml" "Click to open workflow"
    end
    IDg(("Push matrix-js-sdk<br>develop"))
    subgraph IDh["Notify Downstream Projects"]
        subgraph IDi["notify-downstream"]
            IDj[["notify-downstream (vector-im/element-web, element-web-notify)"]]
            click IDj href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/notify-downstream.yaml" "Click to open workflow"
            IDk[["notify-downstream (matrix-org/matrix-react-sdk, upstream-sdk-notify)"]]
            click IDk href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/notify-downstream.yaml" "Click to open workflow"
        end
    end
    IDl(("Push matrix-js-sdk<br>master"))
    subgraph IDm["Merge master -> develop"]
        IDn[["merge"]]
        click IDn href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release-master.yml" "Click to open workflow"
    end
    subgraph IDo["Build downstream artifacts"]
        IDp[["Build element-web"]]
        click IDp href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/downstream-artifacts.yml" "Click to open workflow"
    end
    subgraph IDq["matrix-react-sdk Cypress End to End Tests"]
        IDr[["Cypress"]]
        click IDr href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/cypress.yml" "Click to open workflow"
        IDs[["mark_skipped"]]
        click IDs href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/cypress.yml" "Click to open workflow"
    end
    subgraph IDt["Deploy documentation PR preview"]
        IDu[["netlify"]]
        click IDu href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/docs-pr-netlify.yaml" "Click to open workflow"
    end
    ID4 --> ID0
    IDg --> ID0
    IDl --> ID0
    ID0-- workflow_run -->IDt
    ID4 --> ID5
    ID4 --> IDo
    ID5-- workflow_run -->IDd
    IDg --> ID5
    IDl --> ID5
    IDg --> IDh
    IDl --> IDm
    IDo-- workflow_run -->IDq
---
title: Manual
---
flowchart LR
    subgraph ID0["Upgrade Dependencies"]
        ID1[["upgrade"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/upgrade_dependencies.yml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: Pull Request element-web & Push element-web develop & Push element-web master & Manual
---
flowchart LR
    subgraph ID0["Build"]
        subgraph ID1["Build on ${{ matrix.image }}"]
            ID2[["Build on ubuntu-latest"]]
            click ID2 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
            ID3[["Build on windows-latest"]]
            click ID3 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
            ID4[["Build on macos-latest"]]
            click ID4 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/build.yml" "Click to open workflow"
        end
    end
    ID5(("Pull Request<br>element-web"))
    ID6(("Push element-web<br>develop"))
    subgraph ID7["Build and Deploy develop"]
        ID8[["Build & Deploy develop.element.io"]]
        click ID8 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/build_develop.yml" "Click to open workflow"
    end
    subgraph ID9["Deploy documentation"]
        IDa-- needs -->IDb
        IDa[["GitHub Pages"]]
        click IDa href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/docs.yml" "Click to open workflow"
        IDb[["deploy"]]
        click IDb href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/docs.yml" "Click to open workflow"
    end
    IDc(("Push element-web<br>master"))
    IDd(("Manual"))
    ID5 --> ID0
    ID6 --> ID0
    IDc --> ID0
    ID6 --> ID7
    ID6 --> ID9
    IDd --> ID9
---
title: element-web Release
---
flowchart LR
    subgraph ID0["Build Debian package"]
        ID1[["Build package"]]
        click ID1 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/build_debian.yaml" "Click to open workflow"
    end
    ID2(("element-web Release"))
    ID2 --> ID0
---
title: Push element-web tag v* & At 0 minutes past the hour every 12 hours starting at 07:00 AM & Manual
---
flowchart LR
    subgraph ID0["Dockerhub"]
        ID1[["Docker Buildx"]]
        click ID1 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/dockerhub.yaml" "Click to open workflow"
    end
    ID2(("Push element-web<br>tag v*"))
    ID3(("At 0 minutes past the hour<br>every 12 hours<br>starting at 07:00 AM"))
    ID4(("Manual"))
    ID2 --> ID0
    ID3 --> ID0
    ID4 --> ID0
---
title: element-web Issues
---
flowchart LR
    subgraph ID0["issue_closed.yml"]
        ID1[["Tidy closed issues"]]
        click ID1 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/issue_closed.yml" "Click to open workflow"
    end
    ID2(("element-web Issues"))
    subgraph ID3["Move issued assigned to specific team members to their boards"]
        ID4[["web-app-team"]]
        click ID4 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-assigned.yml" "Click to open workflow"
    end
    subgraph ID5["Move new issues into Issue triage board"]
        ID6[["automate-project-columns"]]
        click ID6 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-incoming.yml" "Click to open workflow"
    end
    subgraph ID7["Move labelled issues to correct projects"]
        ID8[["Add Z-Labs label for features behind labs flags"]]
        click ID8 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        ID9[["Add 'Help Wanted' label to all 'good first issue' and Hacktoberfest"]]
        click ID9 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDa[["X-Needs-Info issues to Need info column on triage board"]]
        click IDa href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDb[["P1 X-Needs-Design to Design project board"]]
        click IDb href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDc[["X-Needs-Product to product project board"]]
        click IDc href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDd[["Search issues to project board"]]
        click IDd href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDe[["Add labelled issues to VoIP project board"]]
        click IDe href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDf[["Add labelled issues to Verticals Feature project"]]
        click IDf href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDg[["Add labelled issues to tech debt project"]]
        click IDg href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
        IDh[["Add Element R issues to Crypto Team board"]]
        click IDh href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-labelled.yml" "Click to open workflow"
    end
    subgraph IDi["Move unlabelled from needs info columns to triaged"]
        IDj[["Move no longer X-Needs-Info issues to Triaged"]]
        click IDj href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-unlabelled.yml" "Click to open workflow"
        IDk[["Remove Z-Labs label when features behind labs flags are removed"]]
        click IDk href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/triage-unlabelled.yml" "Click to open workflow"
    end
    ID2 --> ID0
    ID2 --> ID3
    ID2 --> ID5
    ID2 --> ID7
    ID2 --> IDi
---
title: Every 10 minutes
---
flowchart LR
    subgraph ID0["Pending reviews automation"]
        ID1[["Pending reviews bot"]]
        click ID1 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/pending-reviews.yaml" "Click to open workflow"
    end
    ID2(("Every 10 minutes"))
    ID2 --> ID0
---
title: Manual
---
flowchart LR
    subgraph ID0["Update release topics"]
        ID1[["Release topic update"]]
        click ID1 href "https://github.com/vector-im/element-web/blob/develop/.github/workflows/update-topics.yaml" "Click to open workflow"
    end
    ID2(("Manual"))
    ID2 --> ID0
---
title: Manual
---
flowchart LR
    subgraph ID0["Release Process"]
        ID1-- needs -->ID2
        ID1-- needs -->ID3
        ID1[["release"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
        ID2[["Publish Documentation"]]
        click ID2 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
        ID3[["Publish"]]
        click ID3 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release.yml" "Click to open workflow"
    end
    ID4(("Manual"))
    ID4 --> ID0
---
title: Push matrix-js-sdk staging
---
flowchart LR
    subgraph ID0["Release Drafter"]
        ID1[["draft"]]
        click ID1 href "https://github.com/matrix-org/matrix-js-sdk/blob/develop/.github/workflows/release-drafter.yml" "Click to open workflow"
    end
    ID2(("Push matrix-js-sdk<br>staging"))
    ID2 --> ID0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment