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

Build and Release Automation #10

Closed
jeffdoolittle opened this issue Jan 13, 2022 · 6 comments
Closed

Build and Release Automation #10

jeffdoolittle opened this issue Jan 13, 2022 · 6 comments
Assignees

Comments

@jeffdoolittle
Copy link
Member

No description provided.

@jeffdoolittle
Copy link
Member Author

@DavidWiseman with your latest changes that got the build working, how close are you to being able to generate the zip artifacts automatically?

@DavidWiseman
Copy link
Collaborator

@jeffdoolittle I'm almost there. It currently works like this:

  • You create a tag and push the changes.
  • The workflow will build the project.
  • A separate zip is created for the Agent+GUI and the GUI only. e.g. DBADash_2.11.1.zip, DBADash_GUIOnly_2.11.1.zip
  • A release is created with the zip files attached - in draft mode.

Just need to do a bit more testing before I create a PR for it. I might change the versioning from the .NET side to remove the automated build/revision and set manually. Then enable deterministic builds and stick with Major.Minor.Revision. This is all set from GlobalAssemblyInfo.cs. The DB project is controlled separately.

@DavidWiseman
Copy link
Collaborator

Hi @jeffdoolittle,

I've pushed my changed now into main. The process for creating a release is:

  • Ensure version is bumped in GlobalAssemblyInfo.cs to the desired value- the projects all reference this so there is one place to set this.
  • Run the "Tag and Create Release" workflow
  • Check over the draft release created by the workflow. Click the button to auto generate changes and publish the release.

https://github.com/trimble-oss/dba-dash/blob/main/.github/workflows/tag-create-release.yml

The workflow will build the project - get the version from the build and use this for the tag, release & zip files. This way the version info is consistent with the app version.

There is a draft release ready here:
https://github.com/trimble-oss/dba-dash/releases

Would you check this over and let me know if you have any recommended changes?

Thank you

Note: The "CI" workflow does the same thing but it runs automatically on push and doesn't create the release.

@jeffdoolittle
Copy link
Member Author

It looks great to me! Is your intention to have the tag-create-release always make a draft, or were you just testing for now? just curious.

Great work! So awesome to see the continued innovation.

@DavidWiseman
Copy link
Collaborator

Thanks @jeffdoolittle. I think a draft works best for now - still allowing for some manual control over the process. I can deploy the new release internally before making it public. I'd like to do a bit more with github actions -automated testing beyond checking if the project builds would be good.

@jeffdoolittle
Copy link
Member Author

Absolutely, the more automation the better!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants