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

Updating Workflow: adding a dev branch #369

Open
pearsonca opened this issue Oct 29, 2024 · 2 comments
Open

Updating Workflow: adding a dev branch #369

pearsonca opened this issue Oct 29, 2024 · 2 comments
Labels
high priority High priority. meta/workflow Relating to CI / issue templates / testing frameworks / etc. operations Refers to specific epi modeling objectives or scenario modeling goals.

Comments

@pearsonca
Copy link
Contributor

Per discussion at the flepimop meeting, we need to do setup for the new workflow.

Briefly, commits "main" will only correspond to "releases", which will either be hotfixes (e.g. addressing some bug) or periodic updates (corresponding to an interface changes, breaking or not).

any "operational" activity (e.g. an SMH round submission, or some paper-oriented project, or some ad hoc STLT partner analysis, etc) should be against a particular release tag on main. if there are any library updates needed to support that work, there should be one branch for that activity.

"dev" will correspond to the current "release candidate"; basically, the periodic merges from dev into main will correspond to releases. new features should be made as branches off dev and then merged when complete. after an operational activity completes, any ad hoc branch with new features should be reworked as a branch off dev, cleaned up, and merged. On the next release cycle, that operational work should confirm that the new release reproduces the previous results with the capability now incorporated (though this may entail changes to how that work leveraged the library).

@TimothyWillard has added a dev branch, and we're looking at redirecting PRs to that branch.

@shauntruelove @jcblemai we may need to modify the branch protections to address this new workflow.

See this diagram for an illustration of the workflow.

@TimothyWillard TimothyWillard added high priority High priority. operations Refers to specific epi modeling objectives or scenario modeling goals. meta/workflow Relating to CI / issue templates / testing frameworks / etc. labels Oct 29, 2024
@TimothyWillard
Copy link
Contributor

TimothyWillard commented Oct 29, 2024

I think it could be helpful to come up with a convention for naming branches to make it easier to identify and find them. I understand that going back and applying it to the current branches is more work then its worth, but going forward:

  • Operational work goes into branches prefixed with operations/. Maybe someone from the ops side would have more insight into whether it also makes sense to include the cycle/disease/other meta into the branch name.
  • Feature work goes into branches prefixed with feature/ and I would also go further to suggest feature/<GitHub issue number>/<short name> to make it easy to tie feature branches back to an issue (although not tied to that).
  • Hot fixes go into branches prefixed with fix/ or hotfix/ (fine with either), probably doesn't make sense to tie to a GitHub issue always since we may not make one until cleaning it up for a feature.

Thoughts? I'm happy to incorporate where we land into GH-370.

@pearsonca
Copy link
Contributor Author

those seem roughly fine to me.

Thinking aloud: we don't necessarily need an ops branch until adhoc modifications required, but we also want a singular one when we do, irrespective of how many distinct ad hoc mods needed.

Maybe we ought to keep a single issue tracking all the stuff that is going into that ad hoc branch, and so perhaps the ops branch would also have an associated github issue which lists e.g. which dev feature branches have been pulled in, which totally ad hoc stuff added, etc. Not the standard one-problem-one-issue, but seems distinguishable to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high priority High priority. meta/workflow Relating to CI / issue templates / testing frameworks / etc. operations Refers to specific epi modeling objectives or scenario modeling goals.
Projects
None yet
Development

No branches or pull requests

2 participants