Skip to content

Conversation

@kulesy
Copy link
Contributor

@kulesy kulesy commented Jan 30, 2026

Summary

Refactors the TinaCloud release automation to be more extensible. Instead of tinacms computing version bumps and triggering tinacloud for specific packages, tinacms now sends all published packages and tinacloud handles the filtering.

Changes

tinacms

  • publish.yml: Now sends all published packages to tinacloud via tinacms-release dispatch event
  • Removed label-based triggering logic
  • Deleted add-tinacloud-release-label.yml workflow

tinacloud

  • update-tinacms-graphql.yml: Renamed to "Update TinaCMS Dependencies"
  • Receives all packages and filters using a packageMappings config
  • Computes bump type by comparing incoming version to current version in package.json
  • Easy to extend - just add entries to packageMappings:
const packageMappings = {
  '@tinacms/graphql': {
    file: 'js/content-api/package.json',
    depType: 'dependencies',
    addAlias: true
  }
  // Add more packages here as needed
};

Flow

  1. tinacms publishes packages via changesets
  2. Notifies tinacloud with all published packages
  3. tinacloud filters for packages it cares about
  4. If relevant updates found, creates a PR

Test Plan

  • Manual workflow dispatch test in tinacloud
  • Verify PR creation with correct version updates

This adds a new workflow that automatically adds a "requires-tinacloud-release"
label to Version Packages PRs when @tinacms/graphql has a minor or major bump.

This helps identify before merge that a TinaCloud release will be needed.

https://claude.ai/code/session_01DTjHgRcXFjSP7dztVKGZUF
…h.yml

Instead of re-computing whether @tinacms/graphql has a minor/major bump,
the publish workflow now checks if the merged "Version Packages" PR has
the "requires-tinacloud-release" label (added by the new label workflow).

This simplifies the logic and ensures consistency between the label
(visible before merge) and the tinacloud trigger (after publish).

https://claude.ai/code/session_01DTjHgRcXFjSP7dztVKGZUF
Replace pulls.list with listPullRequestsAssociatedWithCommit for finding
the Version Packages PR. This is more reliable as it directly queries by
merge commit SHA instead of hoping the PR is in the 10 most recently
updated closed PRs.

https://claude.ai/code/session_01DTjHgRcXFjSP7dztVKGZUF
@kulesy kulesy requested a review from a team as a code owner January 30, 2026 01:22
@changeset-bot
Copy link

changeset-bot bot commented Jan 30, 2026

⚠️ No Changeset found

Latest commit: d8948cd

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@github-actions
Copy link
Contributor

github-actions bot commented Jan 30, 2026

Playwright E2E Test Results

passed  7 passed
skipped  2 skipped

Details

stats  9 tests across 6 suites
duration  34.1 seconds
commit  d8948cd

Skipped tests

chromium › retain-input-value-from-localstorage.spec.ts › Local storage retain edit test
chromium › rich-text-editor/newline-parsing.spec.ts › should be able to parse newline from markdown

@kulesy kulesy changed the title Refactor TinaCloud release automation to use PR labels Refactor TinaCloud release automation Jan 30, 2026
- Remove label-based triggering (delete add-tinacloud-release-label.yml)
- Send all published packages to tinacloud on every release
- Let tinacloud filter for packages it cares about
Copy link
Contributor

@18-th 18-th left a comment

Choose a reason for hiding this comment

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

LGTM

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.

4 participants