126 lines
4.4 KiB
YAML
126 lines
4.4 KiB
YAML
|
name: New CFE workflow notifications
|
||
|
on:
|
||
|
issues:
|
||
|
types: [labeled]
|
||
|
|
||
|
permissions:
|
||
|
issues: write
|
||
|
contents: write
|
||
|
pull-requests: write
|
||
|
|
||
|
jobs:
|
||
|
cfe-created:
|
||
|
if: github.event.label.name == 'code freeze exception'
|
||
|
runs-on: ubuntu-20.04
|
||
|
steps:
|
||
|
- name: Notify Slack
|
||
|
uses: archive/github-actions-slack@v2.0.0
|
||
|
id: notify
|
||
|
with:
|
||
|
slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
|
||
|
slack-channel: ${{ secrets.WOO_RELEASE_SLACK_CHANNEL }}
|
||
|
slack-text: |
|
||
|
:arrow_right: New CFE request: ${{ github.event.issue.title }}
|
||
|
${{ github.event.issue.html_url }}
|
||
|
slack-optional-unfurl_links: false
|
||
|
slack-optional-unfurl_media: false
|
||
|
continue-on-error: true
|
||
|
|
||
|
|
||
|
cfe-approved:
|
||
|
if: github.event.label.name == 'CFE Approved'
|
||
|
runs-on: ubuntu-20.04
|
||
|
steps:
|
||
|
- name: Extract PR URL from issue body
|
||
|
id: extract-pr
|
||
|
run: |
|
||
|
PR_URL=$(echo "${{ github.event.issue.body }}" | grep -oP 'https://github.com/[^/]+/[^/]+/pull/\d+')
|
||
|
|
||
|
if [[ -z "$PR_URL" ]]; then
|
||
|
echo "No valid PR URL found in the issue body. Exiting."
|
||
|
exit 1
|
||
|
else
|
||
|
echo "PR_URL=$PR_URL" >> $GITHUB_ENV
|
||
|
fi
|
||
|
|
||
|
- name: Add label 'cherry pick to trunk' to PR
|
||
|
run: |
|
||
|
gh pr edit $PR_URL --add-label "cherry pick to trunk"
|
||
|
env:
|
||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
|
PR_URL: ${{ env.PR_URL }}
|
||
|
|
||
|
- name: Extract Release Number from Issue Body
|
||
|
id: extract-release
|
||
|
run: |
|
||
|
RELEASE_NUMBER=$(echo "${{ github.event.issue.body }}" | grep -oP '\b\d+\.\d+\b')
|
||
|
if [[ -z "$RELEASE_NUMBER" ]]; then
|
||
|
echo "No valid release number found in the issue body. Aborting."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "RELEASE_NUMBER=$RELEASE_NUMBER" >> $GITHUB_ENV
|
||
|
echo "Extracted Release Number: $RELEASE_NUMBER"
|
||
|
|
||
|
- name: Apply Milestone to the Issue
|
||
|
run: |
|
||
|
MILESTONE="$RELEASE_NUMBER.0"
|
||
|
echo "Applying milestone: $MILESTONE"
|
||
|
gh issue edit ${{ github.event.issue.html_url }} --milestone "$MILESTONE"
|
||
|
env:
|
||
|
RELEASE_NUMBER: ${{ env.RELEASE_NUMBER }}
|
||
|
GH_TOKEN: ${{ github.token }}
|
||
|
|
||
|
- name: Notify Slack
|
||
|
uses: archive/github-actions-slack@v2.0.0
|
||
|
id: notify
|
||
|
with:
|
||
|
slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
|
||
|
slack-channel: ${{ secrets.WOO_CORE_RELESES_DAILY_SLACK_CHANNEL }}
|
||
|
slack-text: |
|
||
|
:white_check_mark: CFE request approved: ${{ github.event.issue.title }}
|
||
|
${{ github.event.issue.html_url }}
|
||
|
slack-optional-unfurl_links: false
|
||
|
slack-optional-unfurl_media: false
|
||
|
continue-on-error: true
|
||
|
|
||
|
cfe-rejected:
|
||
|
if: github.event.label.name == 'CFE Rejected'
|
||
|
runs-on: ubuntu-20.04
|
||
|
steps:
|
||
|
- name: Extract Release Number from Issue Body
|
||
|
id: extract-release
|
||
|
run: |
|
||
|
RELEASE_NUMBER=$(echo "${{ github.event.issue.body }}" | grep -oP '\b\d+\.\d+\b')
|
||
|
if [[ -z "$RELEASE_NUMBER" ]]; then
|
||
|
echo "No valid release number found in the issue body. Aborting."
|
||
|
exit 1
|
||
|
fi
|
||
|
echo "RELEASE_NUMBER=$RELEASE_NUMBER" >> $GITHUB_ENV
|
||
|
echo "Extracted Release Number: $RELEASE_NUMBER"
|
||
|
|
||
|
- name: Apply Milestone to the Issue
|
||
|
run: |
|
||
|
MILESTONE="$RELEASE_NUMBER.0"
|
||
|
echo "Applying milestone: $MILESTONE"
|
||
|
gh issue edit ${{ github.event.issue.html_url }} --milestone "$MILESTONE"
|
||
|
env:
|
||
|
RELEASE_NUMBER: ${{ env.RELEASE_NUMBER }}
|
||
|
GH_TOKEN: ${{ github.token }}
|
||
|
|
||
|
- name: Close CFE Issue
|
||
|
run: gh issue close --comment "Closing issue as CFE is rejected - ${{ github.event.issue.html_url }}" "${{ github.event.issue.html_url }}"
|
||
|
env:
|
||
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
|
|
||
|
- name: Notify Slack
|
||
|
uses: archive/github-actions-slack@v2.0.0
|
||
|
id: notify
|
||
|
with:
|
||
|
slack-bot-user-oauth-access-token: ${{ secrets.CODE_FREEZE_BOT_TOKEN }}
|
||
|
slack-channel: ${{ secrets.WOO_CORE_RELESES_DAILY_SLACK_CHANNEL }}
|
||
|
slack-text: |
|
||
|
:x: CFE request rejected: ${{ github.event.issue.title }}
|
||
|
${{ github.event.issue.html_url }}
|
||
|
slack-optional-unfurl_links: false
|
||
|
slack-optional-unfurl_media: false
|
||
|
continue-on-error: true
|