Skip to content

Conversation

@droshev
Copy link
Contributor

@droshev droshev commented Nov 20, 2025

  • Add NODE_VERSION and RELEASE_PACKAGES env vars to eliminate hardcoded values
  • Create reusable nodejs composite action with optimized Yarn-only caching
  • Simplify boolean logic and fix job dependencies in create-release workflow
  • Add comprehensive test infrastructure for actions and helper functions
  • Consolidate all testing documentation into single TESTING.md guide
  1. Workflow Optimizations (create-release.yml)

Added centralized configuration: NODE_VERSION and RELEASE_PACKAGES environment variables
Simplified boolean logic: Replaced complex fromJSON array indexing with ternary operators
Created reusable Node.js composite action (nodejs)
Optimized caching strategy: Removed node_modules cache, kept only Yarn cache to prevent cache thrashing
Fixed job dependencies: stop_agents now only depends on create_release instead of all package jobs
Improved npm publish error handling with proper exit codes
2. Node.js Composite Action (nodejs)

Centralized Node.js, Corepack, and Yarn setup
Configurable Node.js version and frozen lockfile options
Optimized cache strategy using only Yarn cache directory
Cache key: {os}-yarn-{node-version}-{yarn.lock-hash}
Eliminates duplicate setup code across workflows
3. Comprehensive Testing Infrastructure

Created test suites for:

Node.js setup action: Local bash script (test-local.sh) and GitHub Actions workflow (test-action.yml)
Release actions: Comprehensive test script (test-release-actions.sh) and workflow (test-release-actions-workflow.yml)
Helper functions: Test script for all 8 helper functions (test-helpers.sh) including Jest unit tests
4. Documentation (TESTING.md)

Consolidated all testing documentation into single comprehensive guide (617 lines)
Covers local testing, act usage, troubleshooting, and best practices
Documents all helper functions, release scenarios, and safety features
Removed redundant documentation files

@droshev droshev requested a review from a team November 20, 2025 19:44
@droshev droshev self-assigned this Nov 20, 2025
@droshev droshev added the tooling tooling feature around fundamental-ngx label Nov 20, 2025
@droshev droshev added this to the Sprint 152 - November 2025 milestone Nov 20, 2025
@netlify
Copy link

netlify bot commented Nov 20, 2025

Deploy Preview for fundamental-ngx ready!

Name Link
🔨 Latest commit 87a24fc
🔍 Latest deploy log https://app.netlify.com/projects/fundamental-ngx/deploys/691f6f99d5ce8c0008bf047f
😎 Deploy Preview https://deploy-preview-13600--fundamental-ngx.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

tooling tooling feature around fundamental-ngx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants