Skip to content

Feature/new release pipeline#2660

Closed
piyalbasu wants to merge 5 commits intomasterfrom
feature/new-release-pipeline
Closed

Feature/new release pipeline#2660
piyalbasu wants to merge 5 commits intomasterfrom
feature/new-release-pipeline

Conversation

@piyalbasu
Copy link
Copy Markdown
Contributor

@piyalbasu piyalbasu commented Mar 24, 2026

Closes #2642

Goal: To align Freighter Extension's release process with Freighter Mobile's: https://docs.google.com/document/d/1m5-mbE18Zc9KGhWlOgqyuBIStAiynbpHZySS1QmUVV0/edit?tab=t.0

The idea here is to automate the creation of the release branch and the version bump. It should be similar to https://github.com/stellar/freighter-mobile/blob/main/.github/workflows/new-release.yml

This PR also adds a PR Preview job that will create a build artifact on every commit.

CI/CD Automation and Workflow Improvements:

  • Added a new workflow .github/workflows/new-release.yml to automate the process of creating release branches, updating version numbers in relevant files, and opening pull requests for both release and master branches. This workflow takes version and branch as inputs and ensures consistent versioning across the codebase.
  • Introduced .github/workflows/prPreview.yml to automatically build, package, and publish a preview release for each pull request. It updates manifest fields for PR previews, uses BETA icons, and handles cleanup when a PR is closed.
  • Added .github/workflows/runIntegrationTests.yml to provide a dedicated workflow for running integration and end-to-end tests, including Playwright-based browser tests, with artifact upload for test results.

Test Workflow Simplification:

  • Removed the step in .github/workflows/runTests.yml that checked and updated the version number on release branches, as this responsibility is now handled by the new release workflow.
  • Simplified end-to-end test execution in .github/workflows/runTests.yml by always running yarn test:e2e, regardless of the base branch, ensuring consistent test coverage.

piyalbasu and others added 2 commits March 19, 2026 16:47
…m createRelease

- Add prPreview.yml: builds extension on every PR commit and publishes as a GitHub release
- Add runIntegrationTests.yml: manual workflow for running tests with INTEGRATION_MODE=true
- Remove manifest v2 update steps from createRelease.yml

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings March 24, 2026 14:53
Copy link
Copy Markdown
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 updates Freighter Extension’s CI/CD to better support trunk-based development by separating integration-mode E2E testing, adding PR preview build releases, and introducing an automated release-branch + version-bump PR workflow.

Changes:

  • Simplifies runTests by removing release-branch version auto-bumping and always running yarn test:e2e.
  • Adds an ad-hoc runIntegrationTests workflow intended to run integration-mode E2E tests on demand.
  • Adds prPreview workflow to build and publish a zipped PR preview via GitHub Releases, plus cleanup on PR close.
  • Adds createRelease workflow to create a release branch and open version-bump PRs.

Reviewed changes

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

File Description
.github/workflows/runTests.yml Removes release-branch version bump logic; standardizes E2E execution.
.github/workflows/runIntegrationTests.yml New manual workflow for integration-mode CI test runs.
.github/workflows/prPreview.yml New workflow to build, zip, and publish per-PR preview releases (and cleanup).
.github/workflows/createRelease.yml New workflow to create release branches and open version bump PRs.

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

Comment thread .github/workflows/runIntegrationTests.yml Outdated
Comment thread .github/workflows/prPreview.yml Outdated
Comment thread .github/workflows/prPreview.yml Outdated
Comment thread .github/workflows/createRelease.yml Outdated
Comment thread .github/workflows/createRelease.yml Outdated
Comment thread .github/workflows/createRelease.yml Outdated
…nd emergency release support

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@@ -0,0 +1,91 @@
# name: PR Preview
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

commenting this out for now because it works, but any GH release automatically pushes a slack notification to the #release channel. I need to disable that notification before enabling this pipeline

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I connected with Kanwal about this. He'll be able to deploy the change needed to suppress Slack notifications next week., Until then, let's keep this commented out

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
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

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


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

Comment thread .github/workflows/new-release.yml
Comment thread .github/workflows/prPreview.yml
Comment thread .github/workflows/prPreview.yml
Comment thread .github/workflows/new-release.yml Outdated
Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 24, 2026

@piyalbasu I've opened a new pull request, #2663, to work on those changes. Once the pull request is ready, I'll request review from you.

Copy link
Copy Markdown
Contributor

Copilot AI commented Mar 24, 2026

@piyalbasu I've opened a new pull request, #2664, to work on those changes. Once the pull request is ready, I'll request review from you.

…fix) (#2664)

* Initial plan

* Fix tag pattern in new-release.yml to match plain semver tags (no v prefix)

Co-authored-by: piyalbasu <6789586+piyalbasu@users.noreply.github.com>
Agent-Logs-Url: https://github.com/stellar/freighter/sessions/774e2d0a-dd3f-44b9-ae49-778d641f5c0c

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: piyalbasu <6789586+piyalbasu@users.noreply.github.com>
Comment on lines +56 to +60
if [ "$BRANCH_FROM" = "master" ]; then
RELEASE_BRANCH="release/${APP_VERSION}"
else
RELEASE_BRANCH="emergency-release/${APP_VERSION}"
fi
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

on mobile we name those as simply release and emergency-release since we'll have the v${APP_VERSION} branch merged to it

run: |
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

on mobile we have this Validate and get available tags step which appears to be missing here

@piyalbasu piyalbasu closed this Mar 26, 2026
@piyalbasu piyalbasu deleted the feature/new-release-pipeline branch March 26, 2026 03:14
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.

Update pipelines to work with trunk based development

4 participants