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

Automatically release version #2422

Draft
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

validcube
Copy link
Contributor

@validcube validcube commented Oct 25, 2024

Description

Do I have any idea what i'm doing?? no I don'tttt, this python script is running me insane, i'll likely update the description of this pr to be more descriptive but for now this is plain stupid

Note

The script work, but I can't get python to output to env yet

image

Icon count

  • Count the icon based on the number of SVG added, I'm looking to replace this with XML

Greenlight check

  • Check if today is first day of the month
  • If workflow is manually dispatched
  • If icon doesn't reach certain threshold

Version Predictor TM

  • Append the minor component based on last tag, can become major/patch if manually specified in dispatch inputs

Type of change

❌ Bug fix (non-breaking change which fixes an issue)
✅ General change (non-breaking change that doesn't fit the above categories, such as copyediting)

@validcube validcube changed the title Release helper Automatically release version Oct 25, 2024
@x9136
Copy link
Collaborator

x9136 commented Oct 25, 2024

Hey!

  1. How does it work according to your idea?
  2. What will it look like?

@validcube
Copy link
Contributor Author

Hey!

  1. How does it work according to your idea?
  2. What will it look like?

The script will do automated release validation on the first day of each month. It checks if there are over 100 new icons in the develop branch by comparing the latest commits to the previous release tag.

If this threshold is met and it’s the first run of the day, the release will be greenlit for publishing (unless the workflow is manually triggered).

https://www.figma.com/slides/KR4epX0MZpr34CmPHGmox8/auto-release?node-id=0-21&t=KfGiLKv5A6DpnnlT-1

On the technical side, the script is overengineered to support GitHub Actions, GitLab CI, and Forgejo; complete with documentation (could be jarring).

It doesn't work on CI yet as I don't know how to push script results to env

Signed-off-by: validcube <[email protected]>
Signed-off-by: validcube <[email protected]>
@x9136
Copy link
Collaborator

x9136 commented Oct 25, 2024

I wonder what will happen to Lawnicons Nightly after the automatic release.

@validcube
Copy link
Contributor Author

I wonder what will happen to Lawnicons Nightly after the automatic release.

I'm sure that Nightly and automatic release can work together. Lawnicons Nightly will always be the canary branch built daily for users to test out features or (mostly) icons. While automated release will release a new stable version of Lawnicons every month when ready.

This is up to you, but personally, I think Nightly isn't needed, we can release pre-releases for testing as needed by manually triggering the workflow once.

@x9136
Copy link
Collaborator

x9136 commented Oct 25, 2024

I suggest using this template for automatic releases.

Lawnicons `release_version` is here!

See which icons have been added in the "New icons" section of Lawnicons.

This release includes:
+`added_icons` icons (`total_icons` icons in total)
+`added_links` links (`total_links` links in total)

Special thanks to our new contributors: `new_contributors`. Note: If there is at least 1 new contributor.

**Full changelog**: `changelog_link`.

image 167

@x9136
Copy link
Collaborator

x9136 commented Oct 25, 2024

This is up to you, but personally, I think Nightly isn't needed, we can release pre-releases for testing as needed by manually triggering the workflow once.

I've also been thinking about how it's useful. If you added icons that were missing, or someone added them for you, then the easiest way to install the icons is to download *.apk. There is little point in waiting for the stable release in this case. At the same time, the nighly.link zip-file has several disadvantages. I regularly see how different people give positive reactions to the Lawnicons nightly release.

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.

Automate releases
2 participants