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

Add support for 'tags' and 'releases'. #39

Closed
onyame opened this issue Apr 25, 2021 · 5 comments · Fixed by #44
Closed

Add support for 'tags' and 'releases'. #39

onyame opened this issue Apr 25, 2021 · 5 comments · Fixed by #44
Assignees
Labels
feature Implement this feature model Improvements or additions to the PROV model
Milestone

Comments

@onyame
Copy link
Member

onyame commented Apr 25, 2021

Add support for generated tags and releases.

For example: https://gitlab.com/lucaapp/android/-/releases

@onyame onyame added this to the 0.5 milestone Apr 25, 2021
@onyame onyame added feature Implement this feature model Improvements or additions to the PROV model labels May 4, 2021
@cdboer
Copy link
Collaborator

cdboer commented May 16, 2021

This is the first version of the proposed release/tag model for gitlab2prov.

A gitlab release contains:

  • release assets (compressed source code archives, optional files generated by CI/CD such as .apk)
  • release evidence (a .json file containing a snapshot of data that is related to the release, automatically generated for each release)
  • a git tag (used to mark a specific point in the repository history)

release-tag-model

Important Note

Releases can be edited after they've been created. For example, a developer with the appropriate authorization can change the title and the description of a release. The /releases api endpoint does not return such changes and returns only the latest revision of the release. Changes in the title or description can not be detected after they've been made. At least not by using the /releases endpoint. It is as of now unclear whether there is a mechanism that could provide such information. There are webhooks for each new release but there aren't any that i know of, that are triggered when a release is edited.

@cdboer
Copy link
Collaborator

cdboer commented May 18, 2021

@onyame I pushed the source code for the initial model to docs/model.py. Do you have any comments on what needs to be changed?

@onyame
Copy link
Member Author

onyame commented May 18, 2021

@onyame I pushed the source code for the initial model to docs/model.py. Do you have any comments on what needs to be changed?

  • Please use one single Entity Release_Asset only, which should replace Release_Assets and the four specific Entities source*.

  • The Enitity Release can have arbitrary number of members Release_Asset.

  • Release_Asset should have (at least) the attributes filepath, format, uri.

cdboer added a commit that referenced this issue May 18, 2021
Allow an arbitrary amount of 'Release_Asset' entities for any given
release.
Remove specific entities representing the compressed source code
archive assets.
Add the key 'filepath' to 'Release_Asset''s attributes.
Change the attribute key 'url' to 'uri' for 'Release_Asset' entities.
Update pdf/svg.
@cdboer
Copy link
Collaborator

cdboer commented May 18, 2021

I've pushed the suggested changes to the model in docs/model.py and updated the pdf/svg rendering.

cdboer added a commit that referenced this issue May 27, 2021
The key 'target_branch' does not exist for tags.
The key 'target_commit' contains the commit id/sha of the tagged commit.
cdboer added a commit that referenced this issue May 27, 2021
@cdboer
Copy link
Collaborator

cdboer commented May 27, 2021

I removed the attribute field description_html from release entities. The HTML tags created some issues when serializing to json/xml and while rendering dot files. As the same description text without HTML formatting is already present in the attribute field description, this should be fine without further replacements as we do not loose important information.

onyame added a commit that referenced this issue Jun 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Implement this feature model Improvements or additions to the PROV model
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants