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

Improve tag and release strategy #48

Closed
ScottBrenner opened this issue Apr 24, 2021 · 0 comments
Closed

Improve tag and release strategy #48

ScottBrenner opened this issue Apr 24, 2021 · 0 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@ScottBrenner
Copy link
Owner

ScottBrenner commented Apr 24, 2021

Commits to the 'main' branch should be appropriately tagged into version X.Y.Z and released to the GitHub Marketplace. "minor" and "patch" tags and releases should additionally be tagged and released as "major" release X, replacing the previous "major" release's contents. Changes should be detailed in https://github.com/ScottBrenner/cfn-lint-action/blob/main/CHANGELOG.md.

As a concrete example, 3e2d72a was (manually) tagged and released as both 2.1.0 and 2. This allows people to use this Action as scottbrenner/cfn-lint-action@vX and get all updates in vX.Y.Z without update the minor/patch version they use.

Our current tag and release strategy is coded in https://github.com/ScottBrenner/cfn-lint-action/blob/main/.github/workflows/release.yml and uses https://github.com/ScottBrenner/generate-changelog-action to automatically generate GitHub releases with a changelog as the release's body. Using 3e2d72a as the example, the following steps were taken to tag and release both 2.1.0 and 2. The steps to accomplish this were as follows

  1. Merge Re-Introduction of Problem Matchers #43
  2. Tag 3e2d72a as v2.1.0
    3. git tag v2.1.0
    4. git push origin v2.1.0
  3. Publish https://github.com/ScottBrenner/cfn-lint-action/releases/tag/v2.1.0 to the GitHub Marketplace
    4. https://github.com/ScottBrenner/cfn-lint-action/releases/edit/v2.1.0 ➡️ "Publish this Action to the GitHub Marketplace"
  4. Delete the previous v2 tag and release
    4. https://github.com/ScottBrenner/cfn-lint-action/releases/tag/v2 ➡️ "Delete"
  5. Tag 3e2d72a as v2.1.0
    6. git tag v2.1.0
    7. git push origin v2.1.0
  6. Publish https://github.com/ScottBrenner/cfn-lint-action/releases/tag/v2 to the GitHub Marketplace
    7. https://github.com/ScottBrenner/cfn-lint-action/releases/edit/v2 ➡️ "Publish this Action to the GitHub Marketplace"

Not terribly inconvenient, but pretty manual. It's fun to use https://github.com/ScottBrenner/generate-changelog-action, but does it suit our tag and release strategy or impose on it? https://github.com/semantic-release/semantic-release seems much more .. better. Maybe we can use https://github.com/lob/generate-changelog#recommended for updating https://github.com/ScottBrenner/cfn-lint-action/blob/main/CHANGELOG.md?

@ScottBrenner ScottBrenner added enhancement New feature or request help wanted Extra attention is needed labels Apr 24, 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 help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

1 participant