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

Proposal: Willing to add autorelease support to GitHub actions #50

Closed
IgnorantSapient opened this issue Jul 15, 2022 · 7 comments
Closed

Comments

@IgnorantSapient
Copy link

Hey @ignatk,

Based on your comment I understand that you want to add auto-release via GitHub actions, I am willing to help with this.

Here is how I am envisioning the workflow:

  1. We use this action.
  2. We add a CHANGELOG.md file to this repo.
  3. Whenever a new version # is added to the CHANGELOG.md file in the master/main branch, a release is triggered.

If you have a different vision for the auto-release, please do share it with me.

Before we start doing this, we could also change the primary branch to main (If I recall correctly, you wanted to change master to main).

Let me know your thoughts.......

@IgnorantSapient
Copy link
Author

Or we could do something similar to what's been done here:

name: Releases
on:
  push:
    branches:
      - main

jobs:
  changelog:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: conventional Changelog Action
        id: changelog
        uses: TriPSs/conventional-changelog-action@v3.7.1
        with:
          github-token: ${{ secrets.CHANGELOG_RELEASE }}
          version-file: './package.json,./package-lock.json'

      - name: create release
        uses: actions/create-release@v1
        if: ${{ steps.changelog.outputs.skipped == 'false' }}
        env:
          GITHUB_TOKEN: ${{ secrets.CHANGELOG_RELEASE }}
        with:
          tag_name: ${{ steps.changelog.outputs.tag }}
          release_name: ${{ steps.changelog.outputs.tag }}
          body: ${{ steps.changelog.outputs.clean_changelog }}

But the downside to this is, this relies heavily on Commit message format to perform the releases and moving forward, commits should start with fix, feat,docs etc.... If we decide to go with this approach.

@danielledeleo
Copy link
Contributor

goreleaser may be a good option as well! I believe it can also generate Homebrew recipes, if that is desired.

@IgnorantSapient
Copy link
Author

goreleaser looks promising, should we commit to it?

@ignatk
Copy link
Contributor

ignatk commented Jul 19, 2022

I'm a bit skeptical for third-party actions, but GitHub's create-release seems not maintained anymore. Is there something else we can do without relying on third-party actions?

@IgnorantSapient
Copy link
Author

We can write our own go program that would achieve it. But what is your idea workflow? What would it look like?

@danielledeleo
Copy link
Contributor

I'm a bit skeptical for third-party actions

Goreleaser can also be run manually (i.e. write your own Action to invoke it).

@ignatk
Copy link
Contributor

ignatk commented Jul 28, 2022

I've implemented a rudimentary release asset upload in #52

@ignatk ignatk closed this as completed Jul 28, 2022
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

No branches or pull requests

3 participants