Skip to content

ci: Add release workflows - #95

Merged
spydon merged 3 commits into
mainfrom
chore/release-workflow
Aug 28, 2026
Merged

spydon merged 3 commits into
mainfrom
chore/release-workflow

Conversation

@spydon

@spydon spydon commented Aug 28, 2026 •

Copy link
Copy Markdown
Member

Description

Sets up the same release automation as in flame:

  • release-prepare.yml: manually triggered (with an optional prerelease flag), runs melos version and a melos publish dry run, then opens a chore(release): Publish packages PR.
  • release-tag.yml: runs when a release commit lands on main, creates the package tags and triggers the publish workflow for each unpublished package.
  • release-publish.yml: publishes the package to pub.dev using OIDC and creates a GitHub release with the notes from the changelog.

Also adds the melos version config from flame (branch: main, releaseUrl, includeCommitId, linkToCommits) and updates the release section in CONTRIBUTING.md.

Additionally bumps all GitHub actions to their latest major versions: actions/checkout to v7 (was v2/v3/v4), subosito/flutter-action to v2 (was v1 in the dartdoc job) and amannn/action-semantic-pull-request to v6 (was v4).

Notes

  • Publishing via OIDC requires automated publishing from GitHub Actions to be enabled for the tiled package on pub.dev, with flame-engine/tiled.dart and the tag pattern tiled-v{{version}} configured.
  • For the release PR created by release-prepare.yml to get CI runs, a PAT or GitHub App token can be passed to the token input of melos-action, same as in flame the default GITHUB_TOKEN is used here.

Checklist

  • I have followed the Contributor Guide when preparing my PR.
  • I have updated/added tests for ALL new/updated/fixed functionality.
  • I have updated/added relevant documentation in docs and added dartdoc comments with ///.
  • I have updated/added relevant examples in examples or docs.

Breaking Change?

  • Yes, this PR is a breaking change.
  • No, this PR is not a breaking change.

https://claude.ai/code/session_016h5CfXvZUtr33Nmc4XN8BC

Adds the same release automation as in the flame repository:

- release-prepare.yml: manually triggered, runs melos version and a
  publish dry run, then opens a release PR.
- release-tag.yml: runs on merged release commits on main, creates the
  package tags and triggers the publish workflow per unpublished package.
- release-publish.yml: publishes the package to pub.dev via OIDC and
  creates a GitHub release from the changelog.

Also adds the melos version config from flame and updates the release
section in CONTRIBUTING.md.

Claude-Session: https://claude.ai/code/session_016h5CfXvZUtr33Nmc4XN8BC
Comment thread .github/workflows/release-tag.yml Outdated
Comment thread .github/workflows/release-publish.yml Outdated

@luanpotter luanpotter left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM

@spydon
spydon enabled auto-merge (squash) August 28, 2026 14:55
@spydon
spydon merged commit 746d05a into main Aug 28, 2026
5 checks passed
@spydon
spydon deleted the chore/release-workflow branch August 28, 2026 14:59
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