Fix rollback for symlink-based PHP deployments #36
Labels
No labels
Compat/Breaking
Compat/Deprecation
Kind
Bug
Kind
Chore
Kind
Documentation
Kind
Enhancement
Kind
Feature
Kind
Investigation
Kind
Question
Kind
Security
Kind
Testing
Meta/Good First Issue
Meta/Help Wanted
Meta/Stale
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Needs More Info
Status
Needs Triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
XeplosionTechnologies/.forgejo#36
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What happened?
The shared rollback workflow assumes that the deployed application can be restored using Git operations against the deployed directory.
Managed PHP deployments use a release-directory model where deployed versions live in separate release directories and the active application is selected through a
currentsymlink.As a result, the generic Git-based rollback process does not correctly restore the previous PHP release.
Steps to reproduce
currentsymlink is not correctly restored to the previous known-good release.Expected behavior
Rollback should restore the previous valid deployment using the strategy appropriate to the stack.
For a symlink-based PHP deployment, rollback should:
currentto the previous release;The shared rollback workflow should orchestrate rollback without embedding assumptions that every stack deploys from a Git working tree.
Environment / affected version
.forgejocurrentsymlinkAffected branch(es)
main— shared/canonical rollback orchestrationtemplate-php— PHP-specific rollback implementationAdditional context
A stack-specific rollback script is preferred over placing PHP-specific deployment logic directly inside the shared workflow.
Reporter checklist
Workflow lifecycle
Triage
Kind/classification confirmedReviewed/label assignedPriority/assigned when appropriateStatus/Needs More InforemainsStatus/Needs Triageremoved before leaving TriageBacklog
To Do
In Progress
Review Gate
Completed
Investigation / implementation checklist
Confirm current behavior
currentsymlink is updated.Define the rollback contract
Implement PHP rollback
currentsymlink safely.Regression validation
currentpoints at the expected release.Follow-up