forked from cadence-workflow/cadence-go-client
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Ensure PR description follows a template when potential breaking chan…
…ges are made (cadence-workflow#1351)
- Loading branch information
1 parent
9f1c73e
commit f309725
Showing
2 changed files
with
72 additions
and
0 deletions.
There are no files selected for viewing
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
**Detailed Description** | ||
[In-depth description of the changes made to the interfaces, specifying new fields, removed fields, or modified data structures] | ||
|
||
**Impact Analysis** | ||
- **Backward Compatibility**: [Analysis of backward compatibility] | ||
- **Forward Compatibility**: [Analysis of forward compatibility] | ||
|
||
**Testing Plan** | ||
- **Unit Tests**: [Do we have unit test covering the change?] | ||
- **Persistence Tests**: [If the change is related to a data type which is persisted, do we have persistence tests covering the change?] | ||
- **Integration Tests**: [Do we have integration test covering the change?] | ||
- **Compatibility Tests**: [Have we done tests to test the backward and forward compatibility?] | ||
|
||
**Rollout Plan** | ||
- What is the rollout plan? | ||
- Does the order of deployment matter? | ||
- Is it safe to rollback? Does the order of rollback matter? | ||
- Is there a kill switch to mitigate the impact immediately? |
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
name: Workflow for Breaking Change Reminder | ||
on: | ||
pull_request: | ||
paths: | ||
# below files do not cover all the exposed types/funcs, but it's a good start to detect potentially breaking changes | ||
- activity/activity.go | ||
- client/client.go | ||
- encoded/encoded.go | ||
- interceptors/workflow_interceptor.go | ||
- internal/activity.go | ||
- internal/client.go | ||
- internal/encoded.go | ||
- internal/workflow.go | ||
- internal/interceptors.go | ||
- internal/worker.go | ||
- internal/workflow.go | ||
- worker/worker.go | ||
- workflow/*.go | ||
|
||
jobs: | ||
breaking-change-pr-template-reminder: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- name: Checkout | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Fail if PR description is missing breaking change template | ||
if: steps.pr-changes.outputs.changes != '[]' | ||
run: | | ||
PR_NUMBER=${{ github.event.pull_request.number }} | ||
PR_URL="https://api.github.com/repos/${{ github.repository }}/pulls/${PR_NUMBER}" | ||
BODY=$(curl $PR_URL | jq '.body') | ||
CHECKLIST=( | ||
"Detailed Description" | ||
"Impact Analysis" | ||
"Testing Plan" | ||
"Rollout Plan" | ||
) | ||
TEMPLATE=$(cat .github/workflows/breaking_change_pr_template.md) | ||
for i in "${CHECKLIST[@]}"; do | ||
if [[ "$BODY" == *"$i"* ]]; then | ||
continue | ||
else | ||
echo "Potential breaking changes detected! Please update the PR description to include following template:" | ||
echo "---" | ||
echo "$TEMPLATE" | ||
echo "---" | ||
exit 1 | ||
fi | ||
done |