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

Rework releases #43

Merged
merged 2 commits into from
Sep 19, 2024
Merged

Rework releases #43

merged 2 commits into from
Sep 19, 2024

Conversation

janisozaur
Copy link
Member

Rework releases:

This commit changes how releases are made. Previously a release based on
a tag was done as the first step and actions/upload-release-asset was
then used to submit build artifacts to it. That action, however, is
obsoleted and will stop working in the future.

The new approach first builds everything, then uses
softprops/action-gh-release to create the release once all the build
artifacts are collected. This allows for some handy improvements like
providing sha1sum of each build artifact.

I tried automating generating the summary of installed packages and
their versions, but all my attempts at that failed, probably due to
running vcpkg outside of lukka/run-vcpkg action, which maybe creates
some special environment? Setting VCPKG_ROOT, VCPKG_INSTALLED_DIR
for relevant jobs yielded no improvements.


Rework how version is obtained:

In previous approach version would be set in each job individually,
potentially leading to divergence. The new approach sets the version in
first step as job output, which is then consumed by all the other jobs
in the workflow.


I intend to implement similar flow for main OpenRCT2 repository, to address OpenRCT2/OpenRCT2#22737

This commit changes how releases are made. Previously a release based on
a tag was done as the first step and `actions/upload-release-asset` was
then used to submit build artifacts to it. That action, however, is
obsoleted and will stop working in the future.

The new approach first builds everything, then uses
`softprops/action-gh-release` to create the release once all the build
artifacts are collected. This allows for some handy improvements like
providing sha1sum of each build artifact.

I tried automating generating the summary of installed packages and
their versions, but all my attempts at that failed, probably due to
running vcpkg outside of `lukka/run-vcpkg` action, which maybe creates
some special environment? Setting `VCPKG_ROOT`, `VCPKG_INSTALLED_DIR`
for relevant jobs yielded no improvements.
In previous approach version would be set in each job individually,
potentially leading to divergence. The new approach sets the version in
first step as job output, which is then consumed by all the other jobs
in the workflow.
Copy link
Member

@Gymnasiast Gymnasiast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is mostly abracadabra to me, but I trust you on this.

@janisozaur janisozaur merged commit 56dd4b5 into OpenRCT2:master Sep 19, 2024
8 checks passed
@janisozaur janisozaur deleted the rework-releases branch September 19, 2024 21:15
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.

3 participants