Feature/324 325 326 327 infrastructure updates - #377
Merged
james2177 merged 5 commits intoSep 1, 2026
Merged
Conversation
- Modify CI workflow to read Node version from .nvmrc using node-version-file - Add engines field to package.json specifying Node 20 requirement - Create post-checkout husky hook to validate Node version on git operations - Update README with Node version setup instructions Fixes stellar-vortex-protocol#325
…fox and webkit - Add Firefox and WebKit browser projects to playwright.config.ts - Update CI workflow to install all playwright browser binaries with dependencies - Add test:e2e and test:e2e:ui npm scripts for running end-to-end tests - Add artifact upload for playwright test reports - E2E tests now run against Chromium, Firefox, and WebKit in CI Fixes stellar-vortex-protocol#324
…ration - Add conventional-changelog-cli as dev dependency - Create npm changelog script to generate CHANGELOG.md from conventional commits - Add GitHub Actions workflow for maintainer-triggered changelog generation - Workflow creates PR with generated entries from commits since last release - Document changelog workflow in README.md The workflow allows maintainers to easily update CHANGELOG.md before releases by parsing conventional commits and organizing them into standard sections. Fixes stellar-vortex-protocol#326
… update policy - Add major-updates group to dependabot.yml for npm packages - Target critical packages: @stellar/freighter-api, @stellar/stellar-sdk, next, react, react-dom - Add separate major-updates group for github-actions - Document major version update review process in README.md - Outline required testing (full Playwright suite, manual smoke tests, console checks) Major version PRs are now grouped separately to ensure wallet-adjacent code receives appropriate scrutiny before merging. Review process includes full browser testing and release notes review. Fixes stellar-vortex-protocol#327
|
@soma-enyi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Infrastructure Updates: Node Enforcement, Playwright Coverage, Automated Changelog, and Dependabot Policy
🎯 Overview
This PR implements four interconnected infrastructure improvements to enhance development workflow automation, testing consistency, and dependency management across the vortex-frontend project.
📋 Changes Summary
Issue #325: Node Version Enforcement ✅
Problem: Node version defined in
.nvmrcand.github/workflows/ci.ymlcould drift out of sync, causing "works on my machine" bugs.Solution:
.nvmrcusingnode-version-fileparameter (single source of truth)enginesfield topackage.jsonspecifying Node 20 requirement for local validation.husky/post-checkouthook to automatically validate Node version matches.nvmrcon git operationsImpact: Developers receive immediate feedback if they're running the wrong Node version, eliminating environment mismatch bugs before they occur.
Issue #324: Cross-Browser Playwright Coverage ✅
Problem: E2E test suite only ran against Chromium, leaving Firefox and WebKit rendering untested. Since Freighter supports multiple browsers and CSS features are prone to cross-browser issues, this created a significant testing gap.
Solution:
playwright.config.tsto include Firefox and WebKit browser projects alongside existing Chromiumnpx playwright install --with-depstest:e2eandtest:e2e:uinpm scripts for running end-to-end tests locallyImpact: E2E tests now run against all three major rendering engines in CI, catching browser-specific issues before production. Tests run in parallel for all engines, maintaining CI performance.
Issue #326: Automated CHANGELOG Generation ✅
Problem: Repository had Keep a Changelog format and enforced Conventional Commits, but lacked automation to generate changelog entries from commit history. Manual changelog updates are error-prone and often skipped.
Solution:
conventional-changelog-clias a dev dependencynpm run changelogscript to generate/update CHANGELOG.md from conventional commits.github/workflows/changelog.yml)Configuration: Uses
conventional-changelogwithconventionalcommitspreset, which automatically parses:feat:→ Addedfix:→ Fixeddocs:→ Documentationperf:→ PerformanceImpact: Maintainers can trigger changelog generation before releases with a single click, eliminating manual entry and ensuring consistency. The workflow reduces release preparation time and prevents changelog inconsistencies.
Issue #327: Dependabot Major Version Update Policy ✅
Problem: Major-version updates for critical dependencies (Next.js, React, Stellar SDK) arrived as individual ungrouped PRs, creating risk for breaking changes in wallet-adjacent code without special handling.
Solution:
dependabot.ymlto create dedicatedmajor-updatesgroup separate fromminor-and-patchgroup@stellar/freighter-api(wallet integration)@stellar/stellar-sdk(blockchain operations)next,react,react-dom(core framework/UI)major-updatesgroup for github-actions as wellReview Process (documented):
npm run test:e2eImpact: Major updates are now grouped, reducing PR noise while ensuring wallet-critical packages receive appropriate scrutiny. Team receives clear guidance on testing requirements before merging major updates.
🧪 Testing
📚 Documentation Updated
README.md— Node version setup, Playwright e2e scripts, changelog workflow, dependabot policy.nvmrc— Single source of truth for Node version.husky/post-checkout— Automatic Node version validation.github/workflows/changelog.yml— Maintainer-triggered changelog generation.github/workflows/ci.yml— Updated for Node version enforcement and multi-browser testing.github/dependabot.yml— Major version update grouping policypackage.json— Added test:e2e scripts and conventional-changelog-cli dependency✨ Benefits
✅ Development Consistency — Node version enforced automatically across team
✅ Cross-Browser Testing — E2E tests run on Chromium, Firefox, and WebKit
✅ Release Automation — Changelog generation triggered with single click
✅ Dependency Safety — Critical package updates receive dedicated review process
✅ Documentation — Clear guidelines for each workflow included in README
📝 Commits
feat(#325): enforce node version via .nvmrcfeat(#324): extend playwright coverage to firefox and webkitfeat(#326): implement automated changelog generationfeat(#327): implement dependabot major version update policyCloses #324
Closes #325
Closes #326
Closes #327