Path to v1.0.0 - PLEASE READ #248

Closed
opened 2025-10-14 17:50:48 -06:00 by navan · 0 comments
Owner

Originally created by @keiffster on 9/4/2017

Programy-Y has come along way since I started it last year, to the point now that is being used in a few initial projects and gaining support. This, unfortunately, leads to a number of issues specifically around the development and release workflow.

So it's time to start planning a route to v1.0.0 release and a change in how Github is used. There have been 19 formal releases and who knows how many minor and adhoc releases. Over the coming weeks there are a few final tweaks I want to add, and then to get unit test coverage upwards of 90%. This will then form the basis of V1.0.0, release which will for me will be a major milestone achievement.

More fundamentally, the code branching strategy will change. Master will remain as a master branch but will not see the frequency of releases. This is mainly due to the amount of testing required for a release, ( Mac, Linux and Windows are the 3 primary versions ). Instead, a long live Dev branch will be created. This will be the most active branch for which I can continue daily and weekly releases. On a regular basis, Dev will be merged to Master and master put through a full suite of integration tests and then release following the version number pattern X.Y.Z

X - being a major release
Y - being a minor release
Z - being a defect release

Nearly all defects will be first fixed in Dev, released and if OK, Merged with master individually. Critical defects affecting a live project can be fixed in Master if required and immediately released, then back ported to dev and put through the normal process again.

All new features will be created in a branch of Dev, completed, merged to Dev, released again and if all ok, then merged to Master and released as X.Y.Z point release increment.

Let me know your thoughts.

K

*Originally created by @keiffster on 9/4/2017* Programy-Y has come along way since I started it last year, to the point now that is being used in a few initial projects and gaining support. This, unfortunately, leads to a number of issues specifically around the development and release workflow. So it's time to start planning a route to v1.0.0 release and a change in how Github is used. There have been 19 formal releases and who knows how many minor and adhoc releases. Over the coming weeks there are a few final tweaks I want to add, and then to get unit test coverage upwards of 90%. This will then form the basis of V1.0.0, release which will for me will be a major milestone achievement. More fundamentally, the code branching strategy will change. Master will remain as a master branch but will not see the frequency of releases. This is mainly due to the amount of testing required for a release, ( Mac, Linux and Windows are the 3 primary versions ). Instead, a long live Dev branch will be created. This will be the most active branch for which I can continue daily and weekly releases. On a regular basis, Dev will be merged to Master and master put through a full suite of integration tests and then release following the version number pattern X.Y.Z X - being a major release Y - being a minor release Z - being a defect release Nearly all defects will be first fixed in Dev, released and if OK, Merged with master individually. Critical defects affecting a live project can be fixed in Master if required and immediately released, then back ported to dev and put through the normal process again. All new features will be created in a branch of Dev, completed, merged to Dev, released again and if all ok, then merged to Master and released as X.Y.Z point release increment. Let me know your thoughts. K
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github/program-y#248
No description provided.