Skip to content

Conversation

@Filter94
Copy link
Collaborator

@Filter94 Filter94 commented Dec 9, 2025

Note

Introduces a tag-triggered release workflow that builds/pushes Docker images, publishes a distribution artifact, drafts a GitHub release, and updates docs with changelog/release guidance plus a PR template.

  • CI/CD:
    • New release.yml workflow: Triggers on v* tags, validates tag, computes full version (<tag>-<date>-<hash>), builds and pushes consensys/maru image, downloads build artifact, archives distribution, and drafts a GitHub Release with DockerHub link.
    • maru-build-and-publish.yml: Adds optional upload_dist_artifact input and step to upload app/build/install/app/ as maru-distribution for reuse in releases.
  • Docs:
    • CHANGELOG.md: Added initial changelog with entry for introducing the release process.
    • README.md: Adds contribution (conventional commits) and detailed release process instructions.
  • Repo Hygiene:
    • PR template: Reminds contributors to use Conventional Commits.

Written by Cursor Bugbot for commit 670e3be. This will update automatically on new commits. Configure here.

Copilot AI review requested due to automatic review settings December 9, 2025 16:55
@codecov-commenter
Copy link

codecov-commenter commented Dec 9, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.78%. Comparing base (2091c5f) to head (670e3be).
⚠️ Report is 1 commits behind head on main.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #485      +/-   ##
============================================
+ Coverage     83.73%   83.78%   +0.04%     
- Complexity     1137     1140       +3     
============================================
  Files           229      229              
  Lines          8128     8128              
  Branches        639      639              
============================================
+ Hits           6806     6810       +4     
+ Misses          994      991       -3     
+ Partials        328      327       -1     
Flag Coverage Δ
kotlin 83.78% <ø> (+0.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces a release process and versioning scheme for Maru, establishing workflows for automated releases triggered by Git tags and documenting the manual release procedures.

Key Changes:

  • Adds release documentation in README.md following semantic versioning with Conventional Commits
  • Creates automated GitHub Actions release workflow triggered by version tags
  • Extends the build-and-publish workflow to support artifact uploads for releases

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 5 comments.

File Description
README.md Documents the release process, versioning scheme, and contribution guidelines requiring Conventional Commits
CHANGELOG.md Introduces changelog structure with sections for breaking changes, additions/improvements, and bug fixes
.github/workflows/release.yml Implements automated release workflow that validates tags, builds Docker images, creates distribution archives, and generates GitHub releases
.github/workflows/maru-build-and-publish.yml Adds upload_dist_artifact parameter and artifact upload functionality to support the release process

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Filter94 Filter94 changed the title WIP - Introducing the release process and Maru versioning Introducing the release process and Maru versioning Dec 10, 2025
# Compute date and commit hash
DATE=$(date -u +%Y%m%d%H%M%S)
COMMIT_HASH=$(git rev-parse --short HEAD)
Copy link
Contributor

@jonesho jonesho Dec 11, 2025

Choose a reason for hiding this comment

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

So it seems to me this workflow would only be triggered when pushed to main? But just to check, because if a PR can trigger this workglow, we might need sth like this from linea-monorepo to correctly get the latest commit hash from the PR

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

No, the releases I created to debug the workflow were created from this branch

Copy link
Contributor

Choose a reason for hiding this comment

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

Oh yes, but it means the commit hash got from git rev-parse --short HEAD would not be the same as the last commit hash on your local branch, should we align to use the same approach as linea-monorepo

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

# Compute date and commit hash
DATE=$(date -u +%Y%m%d%H%M%S)
COMMIT_HASH=$(git show-ref -s $TAG_NAME | cut -c1-7)
Copy link

Choose a reason for hiding this comment

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

Bug: Git show-ref may return wrong SHA for annotated tags

The command git show-ref -s $TAG_NAME returns the SHA that the tag reference points to directly. For annotated tags, this returns the tag object's SHA rather than the underlying commit's SHA. To reliably get the commit hash regardless of tag type, git rev-parse $TAG_NAME^{} or git rev-list -n 1 $TAG_NAME would be more appropriate. This could result in an incorrect commit hash being included in the version string for annotated tags.

Fix in Cursor Fix in Web

@Filter94 Filter94 merged commit fb8e45a into main Dec 15, 2025
10 checks passed
@Filter94 Filter94 deleted the release-and-versioning branch December 15, 2025 14:50
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.

5 participants