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

Please improve release process #46

Open
paulmillar opened this issue Feb 21, 2022 · 3 comments
Open

Please improve release process #46

paulmillar opened this issue Feb 21, 2022 · 3 comments

Comments

@paulmillar
Copy link

There's a number of points:

  1. the directory releases/latest-release is poorly defined. Nothing says which version this is: neither the file nor the ontology contains version information.
  2. The file releases/latest-release/PaNET.owl is newer than the latest tag (v1.0.0), why is there no v1.0.1 tag?
  3. The file releases/ directory is missing the v1.0.0 release.
  4. Placing releases in a releases/ directory seems sub-optimal. The contents are normal files. Any commit can modify their contents. This can lead to inconsistencies where a file in releases/ directory that claims to be v1.0.0 (at the HEAD of master branch) yields different contents from the file source/PaNET.owl tagged with v1.0.0.
  5. The README.md file contains a section Review process and release. However, this does not describe the release process, only how to handle a pull/merge request.

My suggestions:

  1. Define a release process.

This is more than just accepting changes to master (accepting pull-requests), but rather identifying a specific point-in-time that may be referred to unambiguously.

It may be worth considering the frequency in which releases will take place (how often do you expect services to update?). It may also be worth considering how updates and releases will take place once ExPaNDS ends.

So, I think it would be worth documenting the answers to:

  • When does this happen?
  • Who is responsible?
  • What do they do?
  1. Use github tags to define releases.

I've seen that there's already a v1.0.0 tag, which is good. However, this version has been outdated since 2021-06-18. More than six months later there is no v1.0.1 tag.

  1. Publish releases to Zenodo.

Putting releases in a releases/ directory really isn't good. You could try to come up with a github-only solution, but please consider publishing to Zenodo. They already solves this problem. Plus you get a DOI for the ontology.

For comparison, ROR publish to Zenodo: see "ROR data dump" here https://ror.org/facts/

@paulmillar paulmillar changed the title Poorly defined release process Improve release process Feb 22, 2022
@paulmillar paulmillar changed the title Improve release process Please improve release process Feb 22, 2022
@agbeltran
Copy link
Member

Note that the ontology file does have the ontology version:

<owl:versionInfo rdf:datatype="http://www.w3.org/2001/XMLSchema#string">1.0</owl:versionInfo>

@paulmillar
Copy link
Author

I've had a stab at automating the build process:

https://gitlab.desy.de/paul.millar/panet-build/-/tree/main

This is work-in-progress, as there are non-trivial differences between the generated PaNET.owl file and the version of this file currently stored at source/PaNET.owl and releases/latest-release/PaNET.owl.

@paulmillar
Copy link
Author

I've started writing documentation on how to do a release and, in fact, all aspects of managing the PaNET ontology:

https://docs.google.com/document/d/1ydLMZnHqu2Btg_QruZwokzXGeZ6UQjmeZOmrKEufdSs/edit?usp=sharing

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