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

Create & Present Release Pipeline Architecture Diagram #334

Open
damienjburks opened this issue Sep 7, 2024 · 5 comments
Open

Create & Present Release Pipeline Architecture Diagram #334

damienjburks opened this issue Sep 7, 2024 · 5 comments
Labels
delivery Work related to the Delivery WG enhancement New feature or request

Comments

@damienjburks
Copy link
Contributor

damienjburks commented Sep 7, 2024

Feature Request

Since we have decided on the way we want to release the artifacts, it's time to start putting together a high level diagram for the pipeline solution.

Requirements are still WIP and are dependant on #333

@damienjburks damienjburks added enhancement New feature or request help wanted Extra attention is needed delivery Work related to the Delivery WG and removed help wanted Extra attention is needed labels Sep 7, 2024
@damienjburks
Copy link
Contributor Author

Here is an example architecture diagram, let me know if you have any thoughts on this - @eddie-knight

ccc_delivery_workgroup_flow drawio

@eddie-knight
Copy link
Contributor

Reflecting on the tag idea... I don't think this will be as simple as we'd like. Because its a monorepo with many assets, at release time we'll need both the version identifier and the build target

@damienjburks
Copy link
Contributor Author

Can you expand upon the build target? I'm not following you on that.

@eddie-knight
Copy link
Contributor

Sorry, I meant the directory for the assets we want to be compiling. Like services/storage/object.

@damienjburks
Copy link
Contributor Author

The build target (or source directory) could be supplied based on the tracking of the commit IDs. Remember what I spoke about having some kind of announcement that tags folks for contributing? If we do that, then we could create some kind of process to enable us to automate a big bulk of it. Here's what I'm thinking we could do:

  1. Enforce that folks to squash all of their merge commits prior to merging
  2. Take that commit information and create a release page for keeping track of it
  3. When we create a tag, we can write something that would pull the list of hashes and the version identifier, pass in the list of commits (or page), and dynamically derive the assets that we'll want to compile for the release, and perform start it.

The problem that I have with this approach is, we'll be releasing only those artifacts that have been modified.

In my mind, all of the artifacts that we have in our project should be compiled and released. So, for every release, we attach some kind of summary page that gives our stakeholders the list of changes. I think this'll keep our system simple while ensuring that we're effectively communicating the deltas across the various different releases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delivery Work related to the Delivery WG enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants