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

GitHub actions release process #52

Open
JamieSinn opened this issue Jan 23, 2022 · 3 comments
Open

GitHub actions release process #52

JamieSinn opened this issue Jan 23, 2022 · 3 comments
Labels
enhancement good first issue will-fix-v2 Will fix in the v2 multiplatform rewrite

Comments

@JamieSinn
Copy link
Owner

It'd be nice to have GitHub actions to handle the release process, where on a new tag being pushed - it'll run a build and publish the CSAUSBTool.Base to GH Packages/NuGet, along with final output binary being built into an installer.

@fletch3555
Copy link
Contributor

@JamieSinn, I could probably help with this. It's been a while since I've touched anything .NET, so if you could outline the build process, I could put together a github actions for it

@JamieSinn
Copy link
Owner Author

That'd be awesome - currently there's just a build for CI tests to ensure that we don't break functionality: https://github.com/JamieSinn/CSA-USB-Tool/blob/master/.github/workflows/dotnet.yml

Ideally the build process would work like this:

  • On push to main/master which has [RELEASE] in the git commit message, trigger a Release build of the main package.
  • Take output (.net core makes a messy output folder - so we'd need to take the entire publish directory) and zip it.
  • Take the zip file and create a github release with it as the binary. Set the version number to increment one. ie previous release was 2022.1, next release is 2022.2.

I'm debating using Innosetup - but because this is designed to run in portable mode too - I don't want to make it a requirement. TBD on that.

@fletch3555
Copy link
Contributor

Well, I know some of those words.... (as I said, been out of the .net world for most of the last decade).

Having said that, triggering on push is incredibly easy (and limiting it to a specific commit message should be easy enough). Zipping up the output should be easy enough. Pushing a release with artifacts can be done with https://github.com/softprops/action-gh-release), though getting the latest release and auto-incrementing the release number is a bit more complicated (I haven't found a pre-built action to do it.. yet).

Would you be open to manually pushing the tag (via git or the Github UI) and having that trigger the action to build and attach the zip?

I'm not familiar with Innosetup. How would it change things?

If you want to chat about it more synchronously, feel free to ping me on the CSA slack

@132ikl 132ikl mentioned this issue Mar 4, 2023
@JamieSinn JamieSinn added good first issue will-fix-v2 Will fix in the v2 multiplatform rewrite labels Apr 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement good first issue will-fix-v2 Will fix in the v2 multiplatform rewrite
Projects
None yet
Development

No branches or pull requests

2 participants