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

[Request] Simple Release Trigger for Cpp Domain #21

Open
1 task done
Lypsolon opened this issue Sep 23, 2024 · 2 comments
Open
1 task done

[Request] Simple Release Trigger for Cpp Domain #21

Lypsolon opened this issue Sep 23, 2024 · 2 comments
Assignees

Comments

@Lypsolon
Copy link

Lypsolon commented Sep 23, 2024

Is there an existing issue for this?

  • I have searched the existing issues.

Please describe the enhancement you have in mind and explain what the current shortcomings are?

This is a Request For a simple Release Trigger for the Cpp Domain.

How would you imagine the implementation of the enhancement?

Needed Features.

  • Figure out the new version just the way it's done for the python domain
  • Write the new version into a variable for use by other tools
  • Version variable is supposed to be accessable on the repository level for other workflows or similar
@Lypsolon Lypsolon added the enhancement Extend an existing feature label Sep 23, 2024
@philnewm
Copy link
Collaborator

Where should this "version variable" be placed and what are the tools that would need to access it?
Should this workflow be triggered manually and/or automatically?

@Lypsolon
Copy link
Author

Lypsolon commented Oct 1, 2024

Where should this "version variable" be placed and what are the tools that would need to access it? Should this workflow be triggered manually and/or automatically?

the only tools that need it will be other GH actions as the intention is to have all the parts that interact with versions, doc gen, compile be automated.

currently only docs gen is automated like here.
https://github.com/ynput/ayon-cpp-api/blob/main/.github/workflows/static.yml

i believe that in the end all tools could just grab it from a GH secret or similar.

here is how i would imagine this setup to happen. and what is currently not inline with it.
A Release is Triggered:

  • Have the Release Trigger check what the last release was and what happened in-between. then generate an Actions accessible Version Variable.
  • Run all the tests.
  • Freeze the code in time (with a Tag or similar) and create a Pre Release with Zips from it.
  • Trigger the Compile process and make the output available to CS and for QR
  • Have this uploaded to a Named Branch to LakeFs (im thinking PreReleases or similar) (the commit should have some GH ID like commit hash or link to the pre release)
  • then when QR is done, full Release can be Created without regenerating the Bins so that we can ensure that the tested bins will actually the ones we ship (im not sure if this bricks something but i believe if we use a release branch this should be fine not to generate from main ?)
  • then those bins get uploaded to LakeFs and a Tag is created with the same number as in GH
  • then after merging to main we will generate the documentation with a script like the one linked atop.

i believe we should give the actions the ability to push into there branches because: if some one pulls the Release and generates the code locally they will end up with the wrong version number the same counts for the Cmake Project version.
currently we do not use the version numbers except for keeping track on frozen code but we do have the option to use it.

@mkolar mkolar removed the enhancement Extend an existing feature label Oct 30, 2024
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

3 participants