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

Guidescan versioning and release process #10

Merged
merged 1 commit into from
Nov 10, 2022
Merged

Guidescan versioning and release process #10

merged 1 commit into from
Nov 10, 2022

Conversation

vineetbansal
Copy link
Collaborator

@vineetbansal vineetbansal commented Nov 7, 2022

This setup is very similar to what I've used in the past for other C++ projects when it comes to versioning and release, and I think may work well here. Of course suggestions are welcome!

The basic idea is:

  • As an example, cmake .. -DGUIDESCAN_VERSION=v2.0.3 will burn the v2.0.3 in a header file, which is then reported by guidescan --version

  • A git tag (e.g. v2.0.3) that is pushed upstream, or an explicit release made on the GitHub page will trigger a CI workflow, which will:

    • Generate a .tar.gz for the binary distributions of Guidescan (for Linux and MacOS), which has the guidescan binary (in a bin/ folder) which reports the correct --version, the headers (in an include/ folder), and the scripts in a scripts/ folder. Of course we can add more stuff in there if desired. I think a shared library for guidescan once it becomes available will be a good addition here.
    • Generate .zip and .tar.gz files for source distributions of Guidescan. This is essentially a snapshot of the code when the release was made, in case users want to download and build a particular guidescan version themselves.

    I was getting errors building sdsl on Windows so I haven't included windows in the build matrix here. If that's critical, we can perhaps tackle that as a separate issue.

@schmidt73
Copy link
Collaborator

This seems reasonable. Should we create a document that describes features implemented in future versions? It might be a pain for people working on the project to update this document.

@schmidt73 schmidt73 self-assigned this Nov 9, 2022
@vineetbansal
Copy link
Collaborator Author

vineetbansal commented Nov 9, 2022

You mean like a changelog? In the past I've used Github Releases, whenever I do make a release, to make notes on what's new in a particular version. Unless we maintain a changelog separately somewhere (which i don't think is the case). I might be misunderstanding the question here though (not sure what you mean by "this document"..)

@schmidt73
Copy link
Collaborator

That is what I mean! Github Releases sounds like a good plan to make notes on the version to version changes.

@schmidt73 schmidt73 merged commit df7b5cb into pritykinlab:master Nov 10, 2022
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

Successfully merging this pull request may close these issues.

None yet

2 participants