August25
Last updated
Last updated
If you have provisioned sfp server, you can start utilizing these workflows for pushing workflow related data and events to sfp server.
SFP Server v3 Support
Review Environments Pool: Introduced v3 workflows with new server-based review environments pool
Release Definition Storage: Release definitions are now stored and tracked on the server for complete auditability
Server Publishing: v2 workflows updated with direct server publish commands
Environment Outputs: Workflows now provide release definitions and environment information as outputs for better integration
Issue Analyzer v2
Enhanced Analysis: Completely revamped issue analyzer with v2 capabilities
Smarter Detection: Improved pattern matching and issue categorization
Automated Timing: Issues now close automatically after 5 minutes of resolution
Better Reporting: More detailed issue reports with actionable insights
Apex Testing Improvements
Test Environment Support: Full Apex test support on dedicated test environments
Metadata Filtering: SFP environment list filtering with metadata support
Pool Matching: Fixed and improved pool matching for test execution
Daily Quality Tests: Resolved issues with daily quality testing workflows
NPM Authentication
Secure Artifact Fetching: Added NPM authentication to ensure reliable artifact retrieval
Private Registry Support: Full support for private NPM registries
Token Management: Secure handling of NPM tokens across workflows
Node.js 22 Upgrade
Platform Update: Upgraded all workflows from Node.js 18 to Node.js 22
Performance Gains: Significant performance improvements with newer runtime
Security Updates: Latest security patches and vulnerability fixes
Workflow Optimization
Faster Execution: Removed unnecessary checkout steps in v2 workflows
JSON Compacting: Optimized JSON output for GitHub Actions compatibility
Variable Management: Better handling of GitHub variables as workflow inputs
The release-please workflow now includes significant improvements for managing SFOPS deployments:
Key Changes from Previous Version:
Base Image Configuration: Now explicitly passes base image configuration parameters to sync-org workflow
base_image_tag
: Defaults to 'latest' but configurable
base_registry
: Configurable registry (defaults to ghcr.io)
base_repo
: Configurable repository owner (defaults to flxbl-io)
base_image_name
& base_lite_image_name
: Configurable image names for flexibility
Skip Docker Build Option: Added skip_docker_build
flag to sync workflows without rebuilding Docker images
GitHub Variables Support: All base configuration now supports GitHub variables with fallback defaults
Complete redesign of organization synchronization workflow:
Migration from repository_dispatch to workflow_dispatch:
Direct Invocation: Can now be triggered directly from GitHub UI with clear parameter inputs
Descriptive Run Names: Shows target organization and correlation ID in workflow run title
Two Trigger Modes:
workflow_call: For internal reuse (from release-please or other workflows)
workflow_dispatch: For manual triggers with full parameter control
New Configuration Parameters:
# Base image configuration
base_image_tag: 'latest' or specific version
base_image_name: 'sfp-pro' or 'sfp-pro-rc'
base_lite_image_name: 'sfp-pro-lite' or 'sfp-pro-lite-rc'
base_registry: Custom registry support
base_repo: Custom repository owner
sfp_version: SFP version to use
skip_docker_build: Skip building, only sync
Workflow Dispatch Parameters (for manual triggers):
org_name
: Target organization
repo_owner
: Repository owner
project_repo
: Project repository name
sfops_action_repo
: SFOPS actions repository
dashboard_repo
: Dashboard repository
installation_token
: GitHub App installation token
sfp_server_url
: SFP server URL for tracking
correlation_id
: Unique tracking ID
skip_docker_build
: Optional flag to skip Docker builds
New simplified workflow for syncing a single organization:
Easy Manual Trigger: Simple UI-based trigger from GitHub Actions
Environment-based Configuration: Uses GitHub environment variables
Inherits Secrets: Automatically inherits all repository secrets
Configurable via Variables: Uses vars.BASE_REGISTRY
, vars.BASE_REPO
, etc.
Environment Variables: Resolved base variable configuration issues
Pool Matching: Fixed incorrect output in pool matching logic
Daily Testing: Resolved issues with daily quality testing workflows
Action References: Updated and fixed action references in workflows
Container Images: Corrected container image references in static analysis
Repository Routing: Fixed incorrect routing in action repositories
Authentication Steps: Removed incorrect auth steps that caused failures
Checkout Removal: Eliminated unnecessary checkouts for faster execution
JSON Formatting: Optimized JSON output for GitHub Actions
Variable Passing: Fixed variable passing between workflow stages
Environment Handling: Improved environment variable propagation
Prerequisites
Fork SFOPS repository to your GitHub organization
Configure GitHub Variables in your fork's settings
Set up required secrets
Configure GitHub Variables
Navigate to Settings → Secrets and variables → Actions → Variables:
BASE_REGISTRY=ghcr.io # Or your custom registry
BASE_REPO=flxbl-io # Or your organization
BASE_IMAGE_NAME=sfp-pro # Base SFP image name
BASE_LITE_IMAGE_NAME=sfp-pro-lite # Lite image name
ORGS=["org1","org2","org3"] # List of orgs to sync
Manual Sync Using GitHub UI
Go to Actions tab in your SFOPS fork
Select "Sync Single Organization" workflow
Click "Run workflow"
Enter parameters:
org_name
: Your target organization (must exist as GitHub environment)
skip_docker_build
: Check to skip Docker build (useful for testing)
Click "Run workflow"
Automated Sync on Release
The release-please workflow automatically syncs to all configured organizations:
# Triggered automatically on:
# - Push to main branch
# - Manual workflow dispatch
# - When release-please creates a new release
If you have SFP Server provisioned, enable v3 features:
Setup in Project Workflows
# .github/workflows/sfops-release-v3.yml
name: Release with SFP Server
uses: your-org/sfops-gh-actions/.github/workflows/release-v3.yml@main
with:
workflow_version: "v3"
use_server_pool: true
store_release_definitions: true
secrets:
SFP_SERVER_URL: ${{ secrets.SFP_SERVER_URL }}
SFP_SERVER_TOKEN: ${{ secrets.SFP_SERVER_TOKEN }}
Monitor via SFP Server
# View stored release definitions
sfp server releases list
# Get specific release details
sfp server releases get --id <release-id>
1. Update Your Workflows
# Pull latest workflow definitions
git pull origin main
# Update your project workflows
cp .github/workflows/sfops-*.yml /path/to/your/project/.github/workflows/
2. Configure GitHub Variables
# Set required variables in GitHub UI or CLI
gh variable set BASE_IMAGE_TAG --body "v32.0.0"
gh variable set NPM_REGISTRY --body "https://npm.pkg.github.com"
gh variable set SFP_SERVER_URL --body "https://sfp.myorg.com"
3. Update Secrets
# Add new required secrets
gh secret set SFP_SERVER_TOKEN
3