Skip to content

Conversation

@MiguelLZPF
Copy link
Contributor

Description

This pull request introduces Changesets as the new system for semantic versioning and automated release management across the monorepo. It replaces manual versioning scripts and legacy publishing workflows with standardized commands and automated GitHub Actions. All ATS packages (contracts, SDK, and web) are now managed with fixed versioning and will be released together, while mass-payout packages remain independently versioned. Documentation and CI/CD workflows have been updated to reflect these changes.

Version management and release automation:

  • Added Changesets configuration (.changeset/config.json) and documentation (.changeset/README.md) to enable semantic versioning, changelog generation, and automated publishing for all packages. [1] [2]
  • Updated package.json scripts to include Changesets commands (changeset, changeset:version, changeset:publish, release, etc.), and added @changesets/cli as a dev dependency. [1] [2]
  • Replaced legacy manual publishing with a new GitHub Actions workflow (.github/workflows/all.publish.yml) that automatically creates release PRs, publishes packages on merge, and provides a fallback manual publish job for emergencies. [1] [2]

Documentation updates:

  • Revised README.md to document the Changesets workflow, versioning strategy, and new publishing commands for both developers and maintainers. [1] [2]
  • Updated migration guide (docs/dev-monorepo-migration.md) to explain new version management commands, highlight the benefits of Changesets, and provide troubleshooting steps for the new workflow. [1] [2] [3]

Changelog initialization:

  • Added initial changelogs for all ATS packages (CHANGELOG.md in contracts, SDK, and web), marking the baseline for Changesets-managed releases at version 1.16.1. [1] [2] [3]

Type of change

  • Bug fix 🐞
  • New feature ✨
  • Breaking change 💥
  • Documentation update 📖
  • Refactor 🔧

Testing

Node version:

  • 20
  • 22
  • 24

Checklist

  • Style Guidelines followed ✅
  • Documentation Updated 📚
  • Linters - No New Warnings ⚠️
  • Local Tests Pass ✅
  • Effective Tests Added ✔️
  • No reduction of Coverage

@MiguelLZPF MiguelLZPF self-assigned this Sep 10, 2025
@MiguelLZPF MiguelLZPF added the Improvement Code changes driven by non business requirements label Sep 10, 2025
@hedera-eng-infrastructure
Copy link

hedera-eng-infrastructure commented Sep 10, 2025

Snyk checks have passed. No issues have been found so far.

Status Scanner Critical High Medium Low Total (0)
Licenses 0 0 0 0 0 issues
Open Source Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from 077f96c to 918a4a4 Compare September 10, 2025 15:10
@MiguelLZPF MiguelLZPF marked this pull request as ready for review September 11, 2025 06:18
@MiguelLZPF MiguelLZPF requested review from a team as code owners September 11, 2025 06:18
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from 918a4a4 to d06a66c Compare September 11, 2025 07:13
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch 3 times, most recently from 01dc3c0 to b97cf5b Compare September 16, 2025 06:51
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch 2 times, most recently from 97d69a0 to fac83c9 Compare September 18, 2025 11:19
@themariofrancia themariofrancia dismissed their stale review September 29, 2025 07:56

not necessary

MiguelLZPF added a commit that referenced this pull request Oct 2, 2025
Improve code consistency by using ${VAR} syntax instead of $VAR
for all variable references in release workflows.

Changes:
- Use ${TAG_NAME} for git tag and push commands in both ATS and MP workflows
- Use ${MP_PACKAGES_TO_BUMP} in Mass Payout validation message

This addresses PR feedback for improved consistency and follows bash
best practices for variable expansion.

Addresses: PR #645 comments #3 and #5 from andrewb1269hg

Signed-off-by: Miguel_LZPF <[email protected]>
MiguelLZPF added a commit that referenced this pull request Oct 2, 2025
Improve code consistency by using ${VAR} syntax instead of $VAR
for all variable references in release workflows.

Changes:
- Use ${TAG_NAME} for git tag and push commands in both ATS and MP workflows
- Use ${MP_PACKAGES_TO_BUMP} in Mass Payout validation message

This addresses PR feedback for improved consistency and follows bash
best practices for variable expansion.

Addresses: PR #645 comments #3 and #5 from andrewb1269hg

Signed-off-by: Miguel_LZPF <[email protected]>
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from 8e20426 to f28b372 Compare October 2, 2025 07:42
MiguelLZPF added a commit that referenced this pull request Oct 2, 2025
Improve code consistency by using ${VAR} syntax instead of $VAR
for all variable references in release workflows.

Changes:
- Use ${TAG_NAME} for git tag and push commands in both ATS and MP workflows
- Use ${MP_PACKAGES_TO_BUMP} in Mass Payout validation message

This addresses PR feedback for improved consistency and follows bash
best practices for variable expansion.

Addresses: PR #645 comments #3 and #5 from andrewb1269hg

Signed-off-by: Miguel_LZPF <[email protected]>
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from f28b372 to e40ed31 Compare October 2, 2025 08:59
MiguelLZPF added a commit that referenced this pull request Oct 2, 2025
Improve code consistency by using ${VAR} syntax instead of $VAR
for all variable references in release workflows.

Changes:
- Use ${TAG_NAME} for git tag and push commands in both ATS and MP workflows
- Use ${MP_PACKAGES_TO_BUMP} in Mass Payout validation message

This addresses PR feedback for improved consistency and follows bash
best practices for variable expansion.

Addresses: PR #645 comments #3 and #5 from andrewb1269hg

Signed-off-by: Miguel_LZPF <[email protected]>
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from e40ed31 to 8abe369 Compare October 2, 2025 10:54
@MiguelLZPF MiguelLZPF requested a review from andrewb1269 October 2, 2025 14:10
MiguelLZPF and others added 5 commits October 3, 2025 08:51
- Add Changesets configuration for semantic versioning and automated releases
- Update all package versions to 1.16.1 (aligned with develop branch)
- Create initial CHANGELOG.md files for all ATS packages
- Update GitHub Actions workflow for changesets automation with Node.js 22.x
- Configure fixed versioning for ATS packages, independent versioning for mass-payout
- Add all changeset management scripts to root package.json
- Update documentation for new version management workflow

This establishes the foundation for automated version management using Changesets
while maintaining compatibility with the develop branch codebase.

Migrated from origin/feat/changesets (commit 93ce464) with conflict resolution
and version alignment to preserve develop branch state.

Signed-off-by: Miguel_LZPF <[email protected]>
- Replace all.publish.yml with ats.publish.yml focused on contracts and SDK only
- Add manual trigger with dry-run capability for testing
- Remove dependency between SDK and contracts jobs for parallel execution
- Update changeset config to use develop as base branch
- Support automatic triggers on version tags and release branches
- Implement changeset validation workflow to enforce one changeset per PR
- Add bypass labels for docs/chore changes (no-changeset, docs-only, hotfix, chore)
- Enhance changeset description with comprehensive workflow documentation
- Fix .gitignore to allow .github/ tracking for workflows
- Resolve changeset validation workflow branch detection issues
- Simplify validation logic to avoid monorepo dependency conflicts

This establishes a complete develop-first workflow with manual release control,
automated changeset validation, parallel publishing capabilities, and enterprise-grade
documentation for production-ready release management.

Signed-off-by: Miguel_LZPF <[email protected]>
This commit implements a comprehensive release automation system that supports
both automated workflows and manual release branches, providing flexibility
for different release scenarios while maintaining full control over timing.

Key Features:
- Automated release workflows for ATS and Mass Payout with team authorization
- Multi-project support with independent versioning and tag suffixes
- Manual release fallback option requiring no special permissions
- Enhanced publishing workflows with automatic npm publication
- Comprehensive documentation with mermaid diagrams and quick reference

Configuration Changes:
- Updated changeset config to use 'main' as baseBranch
- Added release scripts for project-specific versioning
- Created comprehensive .github/README.md documentation

Benefits:
- Reduced manual errors through automation
- Flexible approach supporting both simple and complex releases
- Independent project release cycles
- Maintains explicit team control over all releases

Signed-off-by: Miguel_LZPF <[email protected]>
Improve code consistency by using ${VAR} syntax instead of $VAR
for all variable references in release workflows.

Changes:
- Use ${TAG_NAME} for git tag and push commands in both ATS and MP workflows
- Use ${MP_PACKAGES_TO_BUMP} in Mass Payout validation message

This addresses PR feedback for improved consistency and follows bash
best practices for variable expansion.

Addresses: PR #645 comments #3 and #5 from andrewb1269hg

Signed-off-by: Miguel_LZPF <[email protected]>
@MiguelLZPF MiguelLZPF force-pushed the feat/changesets-develop branch from 8abe369 to e5211b3 Compare October 3, 2025 06:51
@MiguelLZPF MiguelLZPF merged commit a36b1c8 into develop Oct 3, 2025
12 checks passed
@MiguelLZPF MiguelLZPF deleted the feat/changesets-develop branch October 3, 2025 08:08
luigi-io pushed a commit that referenced this pull request Oct 6, 2025
Signed-off-by: Miguel_LZPF <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Co-authored-by: Mario Francia <[email protected]>
themariofrancia added a commit that referenced this pull request Dec 9, 2025
Signed-off-by: Miguel_LZPF <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Co-authored-by: Mario Francia <[email protected]>
themariofrancia added a commit that referenced this pull request Dec 10, 2025
Signed-off-by: Miguel_LZPF <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Co-authored-by: Mario Francia <[email protected]>
themariofrancia added a commit that referenced this pull request Dec 10, 2025
Signed-off-by: Miguel_LZPF <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Co-authored-by: Mario Francia <[email protected]>
Signed-off-by: Mario Francia <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Improvement Code changes driven by non business requirements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants