-
Notifications
You must be signed in to change notification settings - Fork 6
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
Improve/Add Build Automation including nuget packages for dev branch #38
Comments
@gismofx where's |
I'm going to add it in the PR I'll raise. |
With #41 out of the way, a package is generated on Release and Debug builds, on any branch. @gismofx, I'll be looking into automation of the CI/CD. There will be certain things I can't do on the repo as I'm not a collaborator (specify secrets such as NuGet key, create and modify GitHub Actions, etc.). There are two options:
Whichever works better for you. |
@SeanFeldman I'm fine making you a collaborator. This is probably easier. I'll work on that now. I just want to know what/how things work and what we are changing. Maybe we document it here in the issue discussion for posterity? I'm open to other ideas too. Maybe a GitHub project? |
Thank you. The proposed changes are (we can discuss various options):
|
This sounds good. I've been planning to add some tests at some point, so would be good to know how to get that connected up. |
Quick update - have not forgotten about this. On vacation till early August 🙂 |
No worries. Thanks for the update. Enjoy vacation! |
Hi @SeanFeldman do you have an update on this feature? |
@SeanFeldman Any time to work on this? |
So sorry. I started looking at it, and work took over my time. |
Thanks. That's ok. I'm not sure what all of the concrete steps are... need some input from you. How about a kanban board/project I've created one and linked it. Are you able to edit it? The first thing I'm thinking would be it's setup so we can manually build the project and the version numbers are correctly set. I'm happy to manually upload a nuget package for the time being. Or maybe just some instructions on how to do it manually? For example, I made one change and number applied is lower than the manual version I created and Nuget treats it as previous version: |
That should be a good starting point, agreed. I do have a question about the versioning scheme you have there. It feels a little weird. You've got |
Great! This helps explain the 1.1.59 That 1.1.59 came from the new versioning system and don't know how to control that :); I don't know how to use it. But I ran with it to get the update out to nuget. How can we bump it up to beta 4.x? |
What is The way I understand SemVer, a version is always
|
I think my intent is inline with SemVer Major.Minor.Patch-Beta-XXX Current version is still 1.0.0 then we're just working on beta versions..The beta numbers I was using was sort of like an internal SemVer, which would visually indicate the type of change between betas. I.e Major.Minor.Patch-BetaMajor.BetaMinor Is this practical? I'm open to changing it for sake of clarity; where XXX could just be incremental build number as you suggest. |
Got it. Yeah, following the Major.Minor.Patch-Beta-XXX pattern is gonna be more mainstream and clear. Also, getting a version out of the repo will be very simple as XXX will be always commits height (number) from the last stable version. So if you release 1.0.0 (stable), the next beta would be 2.0.0-beta1. And then 2.0.0-beta2, etc. Until 2.0.0 stable is released. For minors and patches, it would be the same model. The stable version stamping would be done by tagging. If you are OK with that approach, I could try it. |
This sounds good. |
Correct. |
@gismofx, you've got both, Asking as I'm thinking that the versioning will work much smoother with Release Flow. |
@SeanFeldman The article was a good read and I think is probably inline with how this repo should work. The intent was to develop features and fixes on dev and then push into main. If someone wanted to try the changes on dev, they could just checkout/fork the dev branch. My intent was to be able to publish a nuget of the dev branch. Talking/thinking this through, and correct me if I've misunderstood, I think it makes sense to just publish main as release version on nuget. Then, any "dev" or "feature" commits could be tagged with pre-release versions and a pre-release nuget would be published. All the while, always committing the dev branches to main, just appropriately tagging the merges? (I hope I'm not confusing things). (The one thing was preventing regressions if we're making hot-fixes while developing new features. I suppose code-review and merge tools should help to identify any issues) |
That's exactly the idea, @gismofx. So if you agree, I'll work with the assumption that |
Yea, I agree. In other words, I will develop on some branch(probably dev), merge into main, and then make releases from main, either release or pre-release. |
Precisely. Thank you for the quick response. Unlike my tortoise speed 😂 |
@SeanFeldman Little poke :) |
My bad, @gismofx. I'm so swamped at the moment that won't be able to do anything for the next 2-3 weeks. But please keep poking me! |
I've been bad about this 😃 |
Hey! Thanks for checking back in! I am still using this project. Haven't pushed any changes recently; I've been somewhat holding off for the build automation stuff. Also, I have a few other projects I'd like to leverage this on too. |
As Suggested by @SeanFeldman
This will help with, for example, field-testing fixes made to dev branch by just using a nuget to test with rather than requiring an individual to fork and build from source
The text was updated successfully, but these errors were encountered: