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

CI/CD for releasing new version and updating instances #1236

Open
3 tasks
aboydnw opened this issue Nov 1, 2024 · 2 comments · May be fixed by #1269
Open
3 tasks

CI/CD for releasing new version and updating instances #1236

aboydnw opened this issue Nov 1, 2024 · 2 comments · May be fixed by #1269
Assignees

Comments

@aboydnw
Copy link
Contributor

aboydnw commented Nov 1, 2024

Context

We release to veda-ui at least every 2 weeks, sometimes more frequent for hot fixes or special occasions. This can take a considerable amount of time for the team, that could be better spent working on the roadmap. We would like to minimize the time spent releasing and testing, without sacrificing quality or reliability.

Also to consider is releasing to instances. Currently, we allow each instance to manage their own release. For instances like Earthdata and earth.gov, though, we are often the responsible party. So there is incentive to automate the process for instances to release new content to production and intake new versions of veda-ui.

Some previous thoughts were gathered in this doc

Acceptance Criteria

  • A release is automatically generated every 2 weeks, on Mondays
  • A release can be triggered manually by people on the core team
  • Automatically in the releases process, changelogs are generated, git tags are created, and package.json is updated with the tagged version
@hanbyul-here
Copy link
Collaborator

I think this ticket can be broken down into 2 tickets.

1st is automating the release process itself, and the 2nd is updating the instances with the latest tag.
For VEDA-UI release, we are hoping to automate the items below.

  • Generate Changelogs
  • Generate git tag (Releases can be browsed through release tab)
  • Update package.json with tagged version

We don't need to release the package through npm yet, but we can look at the potential of it while we are on it.

The release can be triggered

  • by schedule, ex. Every other Monday
  • a simple human input. ex. one line command from cli (ex. We might want to number the versions manually yet unless we decide to strictly format our commit message such as conventional commits )

Since instance releases often depends on stakeholders, I would like to focus more on how to test with instances rather than updating the instances with UI for a proper release at this point.

  • the new release of UI triggers Instance repo to make a PR - so the preview URL can be generated
  • Tag people who can review, test the changes
  • Make Slack integration so people involved can be notified

@aboydnw
Copy link
Contributor Author

aboydnw commented Nov 5, 2024

Thanks @hanbyul-here I added some AC based on your comment, let me know if I captured it well. I also created #1242 as a followup ticket

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 a pull request may close this issue.

2 participants