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 Action 'releaser' #10

Merged
merged 41 commits into from
Dec 7, 2021
Merged

add Action 'releaser' #10

merged 41 commits into from
Dec 7, 2021

Conversation

umarcor
Copy link
Member

@umarcor umarcor commented Dec 2, 2021

This PR merges eine/tip into this repository.

By the way, tip/README.md is enhanced, to add info about the Context, the Composite Action version, and Advanced/complex use cases.

tip/Dockerfile Outdated Show resolved Hide resolved
tip/Dockerfile Outdated Show resolved Hide resolved
tip/tip.py Outdated Show resolved Hide resolved
tip/tip.py Outdated Show resolved Hide resolved
tip/tip.py Outdated Show resolved Hide resolved
@umarcor umarcor added the Enhancement New feature or request label Dec 2, 2021
@umarcor
Copy link
Member Author

umarcor commented Dec 4, 2021

@Paebbels, I think the only pending point to discuss here is the name of the Action.

@Paebbels
Copy link
Member

Paebbels commented Dec 5, 2021

In my understanding, it provides a release page and up-to-date links to nightly builds (even if not done at night or every night).

When searching for similar Actions, how does it e.g. relate to deploy-nightly?

@umarcor
Copy link
Member Author

umarcor commented Dec 6, 2021

It allows:

  • If the release does not exist, it is created.
    • It can be a pre-release or a release, depending on the commit being tagged (semver) or not.
  • If files are to be uploaded, they are published as assets of the release.
    • Optionally, all existing assets in the release can be removed before uploading the new ones.
  • If the commit is not tagged, the tip/nightly tag which the release is pointing to is updated to point to the current commit.
    • Since the "body" of the releases created by this actions are empty, when the tag is updated the commit message is shown as the text body.
  • Tagged pre-release commits are considered snapshots, so releases and files are not created.

The action is for creating/updating releases and optionally uploading assets, all in a single step and supporting tagged releases, tagged pre-releases and untagged (thus nightly/tip) runs.

See the README in this PR:

Tip was originally created in eine/tip, as an enhanced alternative to using actions/create-release and actions/upload-release-asset, in order to cover certain use cases that were being migrated from Travis CI to GitHub Actions.
The main limitation of GitHub's Actions was/is verbosity and not being possible to dynamically define the list of assets to be uploaded.

On the other hand, GitHub Actions artifacts do require login in order to download them.
Conversely, assets of GitHub Releases can be downloaded without login.
Therefore, in order to make CI results available to the widest audience, some projects prefer having tarballs available as assets.
In this context, one of the main use cases of Tip is pushing artifacts as release assets.
Thus, the name of the Action.

Therefore, I'm more inclined towards pyTooling/Actions/releaser or pyTooling/Actions/github-releaser, rather than pyTooling/Actions/tip or pyTooling/Actions/nightly,


When searching for similar Actions, how does it e.g. relate to deploy-nightly?

It seems that deploy-nightly was writen in 2020 and was not updated since then. Other than that:

  • It does not seem to support a list of artifacts.
  • It requires to provide the upload_url and the release_id explicitly. The former can the obtained from the context/API. The latter implies that users need to create the release manually first.
  • The asset_content_type should not need to be explicitly provided by the user.
  • It does not handle tagged/semver commits. Hence, users need to skip them in the workflow.

@Paebbels
Copy link
Member

Paebbels commented Dec 6, 2021

Then I would go with pyTooling/Actions/releaser, because the Actions repository is already limited to GitHub specific content.

@umarcor
Copy link
Member Author

umarcor commented Dec 7, 2021

This is now renamed to pyTooling/Actions/releaser. @Paebbels, if you are good, I think we can merge.

@umarcor umarcor changed the title add Action 'tip' add Action 'releaser' Dec 7, 2021
@umarcor umarcor changed the base branch from main to dev December 7, 2021 03:56
@Paebbels Paebbels merged commit ecd2f22 into dev Dec 7, 2021
@Paebbels Paebbels deleted the add-tip branch December 7, 2021 07:38
@umarcor umarcor added the Releaser Action 'releaser' label Dec 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request Releaser Action 'releaser'
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants