Replies: 6 comments 6 replies
-
I've suggested keeping the |
Beta Was this translation helpful? Give feedback.
-
@Ryun1 Please take a look. Seems reasonable. Let's just make sure that it fits across teams |
Beta Was this translation helpful? Give feedback.
-
@placek I have two questions;
|
Beta Was this translation helpful? Give feedback.
-
As already pointed out above, the proposed process is definitely interesting but it create a potential for issues and problems once you try to distribute it to more than one team, especially if teams structure is not the same. Ryan asked some pretty good and obvious questions but then you assumed that only teams, and only well structured teams will contribute to the repository, which is definitely not the case. You have to remember that we are only putting some ground work for the whole Cardano community and we are aiming to fully open-source our repositories. Please do not assume that contribution to this repo will only come from well organised and structured teams, with PM's, developers, QA engineers and DevOps engineers. In most cases, the contributions will come from a single developer! Not always seasoned developer. "someone" still need to check PR, do code review, and then pass to "some" QA engineer. In our current setup I strongly doubt that you first will pickup to do a Code Review for a PR where some random person want to change something on for example a feature or on a library which is not in your scope or related to your delivery :) Well, we need a solution and a process for that as well.:) On top of that, currently we are dealing with monorepo, and soon there will be shared libs, packages and dependencies for each team to contribute or make necessary changes to complete their tasks. What is the process when, for example WeDeliver developer change a React Component which you use as well? When you take all this into consideration, then your proposal, still pretty good, becomes much much harder to implement. Not that it is impossible but just it will create huge potential for issues and problems. My proposal at this moment is that we stick to minimal agreed process we have, and practice a bit across teams. You guys are here the longest and for you, 100% the new process you proposed is better. But not all builders are on your level and we simply have to be careful and wait until we make such drastic changes prone to issues. My suggestion is that you try to think about all this from much broader perspective that your own. We are more than willing to share all the information with you and we truly welcome not only your contribution to the project but also your willingness to make everything better. Let's then put you into right perspective, and let's figure this out together! P.S. Do not consider this comment as end of discussion :) Let's keep polishing your proposal and make it work, but considering much broader big picture than perhaps the one you have in mind. |
Beta Was this translation helpful? Give feedback.
-
GovTool GitHub workflow proposal.pdf |
Beta Was this translation helpful? Give feedback.
-
Thank you for raising @placek Lets do it 🚀 |
Beta Was this translation helpful? Give feedback.
-
GovTool Project GitHub Workflow Guide
This guide outlines the structured workflow for the GovTool project, designed to optimize collaboration among developers, QA (Quality Assurance), and product owners across multiple environments. Our objective is to ensure a seamless, transparent, and efficient process from development to deployment.
Environments
The project utilizes four key environments for deployment:
dev
: A development environment for developers to test and refine their work.test
: An environment for the QA team to verify the developers' work.staging
: A pre-production environment for product owners to review and approve work before it moves to production.beta
: The production environment, maintained with specific semantic versioning.Branch Structure
main
: The production branch, updated to deploy to the beta environment.preprod
: A branch for integrating verified development work, serving as the base for feature branches.Workflow Steps
preprod
or any epic-related subbranch ofpreprod
.test
environment for testing.preprod
or the specific epic branch).staging
is triggered whenpreprod
is updated.main
branch triggers automatic deployment to thebeta
environment.Best Practices
Releases
Releases are a critical part of the workflow, ensuring that new features, fixes, and updates are systematically introduced to the production environment. The process involves creating a dedicated release branch, preparing it for the release, and merging it into the main branch.
main
. Merging helps preserve the history of changes and ensures a clear pathway from pre-production to production.main
triggers the deployment process to thebeta
environment, marking the official release of the new version.This guide is intended to evolve as the project grows and adapts, ensuring the workflow remains aligned with the project's goals and the team's needs.
Beta Was this translation helpful? Give feedback.
All reactions