sfops
sfpSlackGithub
  • Overview
  • Features
  • Environments
    • Creating an Environment
    • Authenticating to Environments
    • Review Environments
      • Configuring Review Sandboxes
      • Creation and Allocation of Review Sandboxes
  • Project Workflows
    • sfops - Execute Issue Ops
    • sfops - On Pull Request Comments
    • sfops - Close Issues
    • sfops - Execute Every 30 mins
    • sfops - Daily Job Executor
    • sfops - Review Sandbox - Creator
    • sfops - On Push to Branch
    • sfops - Execute Releases to any env
    • sfops - Execute Releases
  • IssueOps
    • Access
      • Request elevated previlege in production
    • Release
      • Release a Domain
      • Hotfix Workflow
  • Changelog
    • November24
    • January25
  • DevCentral
    • Customising Menu
    • Extending using Custom Forms and Issue Ops Actions
  • self managed instances
    • Setup for self managed instances
      • 1. Create repositories
      • 2. Create a GitHub App
      • 3. Setting up sfops repository
      • 4. Trigger the workflows
      • 5. Setting up project repository
      • 6. Fetching upstream changes
        • 6.1 Manual Process for Updating sfops from Upstream
    • Update Instructions
      • Updating to v29.0.0
      • Updating to v30.3.1 and above
    • Workflow details
      • Sync Upstream Repository and Create Pull Request
  • Legal
    • Terms of Service for sfops
Powered by GitBook
On this page
  1. IssueOps
  2. Release

Hotfix Workflow

PreviousRelease a DomainNextNovember24

Last updated 4 months ago

This section explains how a hotfix if required could be applied in the context of sfops. These workflows automate the process of patching an existing active branch (e.g. main), to create a dynamic release branch for applying your pathches.

This process could be used for an accelerated delivery to release changes to RELEASE environments

Please note hotfix is an anti-pattern and should not be used. We only advise this feature for teams who are on their journey to continuous deployment

Hotfix Process

Step 1: Activate Apply a Patch action in sfops dev central

sfops will attempt to patch the branch which the release candidate was created on by resetting the commits to the exact stage where the candidate was created. This is only applied on the selected domain. If there are multiple domain, please proceed each one individually.

Step 2: Create and Validate a Hotfix Pull Request

Create a Pull Request against the newly created release branch with your hotfix changes. This change is validated against a review sandbox environment created against production. Once the validation is successful and the changes have been peer-reviewed, the Pull Request can be merged.

Step 3: Build and Cherry-Pick the Hotfix

This workflow will build and publish the updated packages to be included in the release. Additionally, an automated cherry-picker process will create a new Pull Request against the main branch with the hotfix changes.

It's crucial to review this automated cherry-pick Pull Request on priority. The decision to merge or not depends on the change and what's currently in flight. This step ensures that the hotfix is also applied to the main branch, allowing the changes to persist in future releases.

Step 4: Release to Release Environments

Once the hotfix is ready, you can manually trigger a release of the newly created release definition from the sfops dev central to release the hotfix to the Release environments (environments assigned to release category).

This will release the patched versions to release environments, with the newly built hotfix included.

Please note, if say one of the environment, say STAGING is currently testing an inflight release, you might choose to skip the STAGING environment and directly release the hotfix to the PROD as an example.

Upon merging the Pull Request, the workflow will be executed. The workflow uses the respective release branch that was created.

"Build, Deploy & Publish"
Click on Attempt a Patch