kausalflow / hamilflow

Dataset of simple physical systems.
http://kausalflow.com/hamilflow/
MIT License
2 stars 1 forks source link

Workflow Discussions #41

Open emptymalei opened 5 months ago

emptymalei commented 5 months ago

My current understanding of the workflow.

Working branch

flowchart TB
    working_branch["Working Branch (scope(topic): ...)"]
    main["main Branch"]
    issue["Issue covering the task"]

    review{"PR Review"}

    issue -- "link" --> working_branch

    working_branch --> review
    review --> |Approve| main
    review --> |Changes Requested| working_branch

Release

flowchart TB
    main["main Branch"]
    release["Release Branch (release/x.y.z)\nBump Version + Changelog + [Local]Create/Update Tag by commitizen"]
    tag["Push the Corresponding Tag Version"]
    approved(fa:fa-spinner)

    review{"PR Review"}
    publish["Publish Version"]

    release --> review

    review --> |Approve| approved
    approved --> main
    approved --> tag
    review --> |Changes Requested| release

    tag --> publish

The above workflow requires ~manual tagging~ tagging by running some command as we have no automated Actions workflow to create tags. Maybe we automate the tag creation at some point. Then the workflow may become something like release branch merged -> create tag by Actions --> publish by Actions.

cmp0xff commented 5 months ago

commitizen does create tags automatically as it bumps

emptymalei commented 5 months ago

commitizen does create tags automatically as it bumps

yep, that is also what the workflow suggests, that we don't create tags by ourselves.

emptymalei commented 5 months ago

So the idea is that, as long as we don't git tag -a, this workflow seems to be fine and we don't need to worry about tags. But it is much better to have an automation to auto create tags at some point.

cmp0xff commented 5 months ago

commitizen does create tags automatically as it bumps

yep, that is also what the workflow suggests, that we don't create tags by ourselves.

I was confused when I read the statement

The above workflow requires manual tagging as we have no automated tag creation.

My understanding is that commitizen creates tags automatically. The only manual things here are

  1. creating a release branch
  2. run cz bump

And I do not think we can essentially automate this further, either..

emptymalei commented 5 months ago

commitizen does create tags automatically as it bumps

yep, that is also what the workflow suggests, that we don't create tags by ourselves.

I was confused when I read the statement

The above workflow requires manual tagging as we have no automated tag creation.

My understanding is that commitizen creates tags automatically. The only manual things here are

  1. creating a release branch
  2. run cz bump

And I do not think we can essentially automate this further, either..

Ah, by manually tagging I mean we don't use Actions to automatically tags the commit. Manually means we have to run command by hand.

Edit: I updated the statement a bit.

emptymalei commented 5 months ago

Not sure what is a good solution to this: https://github.com/kausalflow/hamilflow/pull/33#discussion_r1536787458

I guess the first thing to do is to protected the tags.

Screenshot 2024-03-24 at 11 57 34

With this we limit who can push tags to remote.

emptymalei commented 5 months ago

Cross reference

42