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

build(release): configure semantic release #289

Closed
wants to merge 19 commits into from

Conversation

C0ZEN
Copy link
Contributor

@C0ZEN C0ZEN commented Jan 23, 2021

Some infos:

  • Install and configure a workflow to create a release on the master branch
    • Create a tag based on the commits
    • Generate the CHANGELOG.md
    • Set the tag in the package.json and package-lock.json
    • Create a git tag
    • Create a GitHub release
    • Add a comment and a label to each related issue and PR
  • Configure the semantic-pull-requests GitHub check
  • Configure the release GitHub workflow
    • When a push is done in master
      - Get the current tag
      - Create the release
      - Install the dependencies (use some cache as well)
      - Create the release (see above workflow)
      - Create a new PR from master to main if there is a new tag (so that you can easily merge the changelog and packages changes)
  • Configure the alpha release (alpha branch)

What needs to be done before merging (by admin):

Closes #288

@C0ZEN
Copy link
Contributor Author

C0ZEN commented Jan 23, 2021

@hross when you have the time if you can take a look 👍🏻.
Hard to test obviously but if you want to keep the stuff safe you can enable the dryRun option in the release config file to ensure that everything is ok.

@hross
Copy link
Contributor

hross commented Jan 26, 2021

It's going to take me some time to get to this one, especially since it changes the release structure. I will take a look later this week and see if it makes sense (seems cool).

.github/workflows/release.yml Outdated Show resolved Hide resolved
.releaserc.json Outdated Show resolved Hide resolved
.releaserc.json Outdated Show resolved Hide resolved
.releaserc.json Outdated Show resolved Hide resolved
.releaserc.json Outdated Show resolved Hide resolved
@hross
Copy link
Contributor

hross commented Jan 29, 2021

I haven't gotten to this one yet. Will look next week.

@hross
Copy link
Contributor

hross commented Feb 13, 2021

I still like this change but making release modifications requires me to spend a fair bit of time testing and watching and not breaking things so I have not yet merged this.

@hross
Copy link
Contributor

hross commented Feb 13, 2021

I'm not sure if using angular commit message conventions is the way to go in order to manage the release process. Creating an alpha branch and auto-releasing would be pretty cool but keeping the release process manual means less commit maintenance and lock into the process, plus it's just a tag bump and more of a decision about a major release. Need to think more on this PR.

@C0ZEN
Copy link
Contributor Author

C0ZEN commented Feb 13, 2021

@hross I am not sure to follow up with the issue.
The alpha branch would be optional in the process but to avoid automated release since you like to test the stuff internally it needs at least a new branch that is why I proposed the master one.
A release in that case is just a PR to merge either on alpha or on master (and is a good place to review the commits to make sure that it will create the tag you wish).
So IMO it's the same process as before except that the tag, the version, the GitHub release and the release notes would be generated based on the commits.
The drawback obviously is that there is a need to have good commits but since everything is squash on this project only the title of the PR matters.

@hross
Copy link
Contributor

hross commented Mar 1, 2021

I don't think we should do this one for now. I don't want to commit this project to a different release strategy from our other actions right now. Maybe we can come back to it at some point, but for now I'm closing to avoid clutter.

@hross hross closed this Mar 1, 2021
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.

Add a comment and a label on issues and PR released
2 participants