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

chore: [CP-603] First attempt at setting up release flow #5040

Merged
merged 11 commits into from
Oct 26, 2023

Conversation

kathrynlovett
Copy link
Contributor

@kathrynlovett kathrynlovett commented Oct 19, 2023

This is an initial attempt at setting up the ui project with our newer release flow. Further discussion around what the final flow will look like is happening here: https://docs.google.com/document/d/1-s1T7MeNlxjfkVKtK2P50AMpDqPrDnT4z463hGs8zOM/edit

This PR is meant to create the create-release workflow, which will be responsible for creating the semantic version tags (using the -rc postfix for stage releases and then regular versioning for production releases). In addition, it contains the initial build workflow, which will actually create and push the Docker image upon tag release. We will need to iterate on this as we'll want to trigger tests at different points and may want to change this flow, but I figured this way we could get something going to iterate on 😄

@mcstover mcstover requested review from emuvente and mcstover October 20, 2023 17:50
@kathrynlovett kathrynlovett requested review from a team and hobbsh October 23, 2023 19:33
@kathrynlovett
Copy link
Contributor Author

@mcstover @hobbsh does this seem like a good place to start? I'm sure we'll have to iterate on this flow, but it would be great to get something going so we can continue testing and refining the new flow 🙏🏻

Copy link
Collaborator

@mcstover mcstover left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great start to moving into the new build/deploy flow.

For the time being we just can not use the new infra "prod" deploy to create a tag as it will interfere with the Jenkins run prod deploys currently in use.

@kathrynlovett
Copy link
Contributor Author

@mcstover @hobbsh @emuvente let me know what thoughts are on tags and the conditional Wylie highlighted. For the services, we'd swapped to using the create-release flow for creation of tags and then, for prod deploys (before services were migrated) that tag/release creation would trigger our old Jenkins flow. Not sure if the UI project can do something similar, where we adopt the Github Workflow as our new process for creating the versioned release tag and then use that for (or have that trigger) our old release process until we're fully migrated in prod?

@mcstover
Copy link
Collaborator

@mcstover @hobbsh @emuvente let me know what thoughts are on tags and the conditional Wylie highlighted. For the services, we'd swapped to using the create-release flow for creation of tags and then, for prod deploys (before services were migrated) that tag/release creation would trigger our old Jenkins flow. Not sure if the UI project can do something similar, where we adopt the Github Workflow as our new process for creating the versioned release tag and then use that for (or have that trigger) our old release process until we're fully migrated in prod?

I just made a comment with a similar thought.

If we turn off pushing the vX.X.X tags in the Jenkinsfile (lives in marketplace web ui ci, shared by UI + CPS) we could use this job to create those. We just need to be able to do it in both UI + CPS b/c of that shared Jenkinsfile

@hobbsh
Copy link
Contributor

hobbsh commented Oct 24, 2023

@mcstover @hobbsh @emuvente let me know what thoughts are on tags and the conditional Wylie highlighted. For the services, we'd swapped to using the create-release flow for creation of tags and then, for prod deploys (before services were migrated) that tag/release creation would trigger our old Jenkins flow. Not sure if the UI project can do something similar, where we adopt the Github Workflow as our new process for creating the versioned release tag and then use that for (or have that trigger) our old release process until we're fully migrated in prod?

I just made a comment with a similar thought.

If we turn off pushing the vX.X.X tags in the Jenkinsfile (lives in marketplace web ui ci, shared by UI + CPS) we could use this job to create those. We just need to be able to do it in both UI + CPS b/c of that shared Jenkinsfile

Only one thing should be creating tags so we should turn off one or the other.

@mcstover
Copy link
Collaborator

I can work on getting the CPS version of this PR ready..

@kathrynlovett
Copy link
Contributor Author

kathrynlovett commented Oct 24, 2023

@mcstover @hobbsh I can work on queueing up the CPS changes (though I thought it had a similar workflow already 👀 ) and the update to turn off the versioned tag creation on merges to main so that we can make all the changes at once, if that sounds good?

@kathrynlovett
Copy link
Contributor Author

Okay, I've added the new logic to write the changelog (controlled via input to the create-release step) and update the package.json file (and lockfile). @mcstover let me know if this looks good! And then once CPS is updated as well, I'll merge the change to stop tagging through Jenkins and we can merge this and the CPS PRs 👍🏻

@kathrynlovett kathrynlovett merged commit ada3609 into main Oct 26, 2023
4 checks passed
@kathrynlovett kathrynlovett deleted the chore-CP-603-github-actions branch October 26, 2023 22:51
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

Successfully merging this pull request may close these issues.

4 participants