winutil/.github/workflows/close-discussion-on-pr.yaml

49 lines
1.7 KiB
YAML
Raw Permalink Normal View History

2024-07-13 11:00:37 -05:00
name: Close Discussion on PR Merge
on:
pull_request:
types: [closed]
jobs:
closeDiscussion:
runs-on: ubuntu-latest
steps:
2024-07-30 21:05:13 -05:00
- name: Checkout repository
uses: actions/checkout@v4
2024-07-30 21:05:13 -05:00
2024-07-13 11:00:37 -05:00
- name: Check if PR was merged
if: github.event.pull_request.merged == true
run: echo "PR was merged"
2024-08-06 15:50:36 -05:00
2024-07-30 21:05:13 -05:00
- name: Extract Discussion Number & Close If any Were Found
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2024-07-13 11:00:37 -05:00
if: github.event.pull_request.merged == true
id: extract-discussion
run: |
2024-07-30 21:05:13 -05:00
pr_body="${{ github.event.pull_request.body }}"
2024-07-30 21:16:47 -05:00
discussion_ids=$(echo "$pr_body" | grep -oP '(?i)(resolve|fix|close)[s|d]? #\K[0-9]+')
2024-08-06 15:50:36 -05:00
2024-07-30 21:05:13 -05:00
if [ -z "$discussion_ids" ]; then
echo "No discussion IDs found."
exit 0
fi
2024-07-30 21:05:13 -05:00
for discussion_id in $discussion_ids; do
2024-08-07 21:30:15 -05:00
echo "Attempting to close discussion #$discussion_id"
response=$(curl -s -X PATCH -H "Authorization: token $GITHUB_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
-d '{"state": "closed"}' \
2024-07-30 21:05:13 -05:00
"https://api.github.com/repos/${{ github.repository }}/discussions/$discussion_id")
2024-08-09 10:15:20 -05:00
2024-08-07 21:30:15 -05:00
if echo "$response" | jq -e '.id' > /dev/null; then
echo "Successfully closed discussion #$discussion_id"
else
error_message=$(echo "$response" | jq -r '.message // "Unknown error"')
echo "Warning: Failed to close discussion #$discussion_id. Error: $error_message"
echo "Full response: $response"
2024-07-30 21:05:13 -05:00
fi
done
Code Formatting of Repo - Add Preprocessing to Compilation Process - Introduction of Dev/Build Tools to WinUtil (Although very simple at the moment) (#2383) * Replace Tabs with Spaces to follow the conventions * Add Preprocessing in Compiler * Compile from Anywhere you want - Running 'Compile.ps1' Works in any directory you call it from * Code Formatting Changes * Result of Preprocessing Step in 'Compile.ps1' Script - Remove Trailing Whitespace Characters * Make Preprocessing more advanced * Move Preprocessing to a separate script file * Make Self Modification impossible for 'tools/Do-PreProcessing.ps1' Script - Make the workingdir same as sync.PSScriptRoot for consistency * Revert commit b5dffd671ff4f870026e4d384f393c0491692ab7 * Patched a Bug of some Excluded Files not actually get excluded in 'Get-ChildItem' PS Cmdlet * Update Replace Regex for Code Formatting in 'Do-PreProcessing' Script Tool * Rename 'Do-PreProcessing' to 'Invoke-Preprocessing' - Update some Comments * Make 'Invoke-Preprocessing' Modular - Update RegEx to handle more cases - Update Documentation - Add Validations & Useful feedback upon error * Replace Tabs with Spaces to follow the conventions - 'applications.json' File * Code Formatting Changes - 'Copy-Files' Private Function * Update Replace Regex for Code Formatting in 'Invoke-Preprocessing' Script Tool * Replace Tabs with Spaces to follow the conventions - Make 'ExcludedFiles' validation step check all filepaths before finally checking if any has failed * Result of 'Invoke-Preprocessing' Script * Update Replace Regex for Code Formatting in 'Invoke-Preprocessing' Script Tool
2024-08-06 15:35:17 -05:00
shell: bash
2024-08-09 10:15:20 -05:00
continue-on-error: true