-
-
Notifications
You must be signed in to change notification settings - Fork 16
135 lines (110 loc) · 4.14 KB
/
sync-bot-status-check.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: ✅🤖Sync Bot & Status Check
defaults:
run:
shell: pwsh
on:
workflow_dispatch:
inputs:
run-type:
description: "The type of run to execute."
required: true
type: choice
options: ["Sync Bot", "Sync Status Check"]
issurOrPRNumber:
description: "Sync bot uses an issue # and the status check uses a pr #."
required: true
type: number
default: 0
issues:
types: [labeled, unlabeled, assigned, unassigned, milestoned, demilestoned]
# pull_request:
# branches: [main, preview]
jobs:
sync_bot_issue_change:
name: Sync Bot (Issue Change)
if: ${{ github.event.issue }}
runs-on: ubuntu-latest
steps:
- name: Set Up Deno
if: startsWith(github.ref_name, 'feature/')
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Run Sync Bot (Issue Change)
if: startsWith(github.ref_name, 'feature/')
run: |
$scriptUrl = "${{ vars.SCRIPT_BASE_URL }}/${{ vars.CICD_SCRIPTS_VERSION }}/${{ vars.SCRIPT_RELATIVE_DIR_PATH}}/sync-bot-status-check.ts";
$issueNumber = "${{ github.event.issue.number }}";
echo "Project Name: ${{ vars.PROJECT_NAME }}";
echo "Issue: $issueNumber";
if ($manuallyExecuted -and $issueNumber -eq "0") {
echo "The issue or PR number must be a value greater than 0.";
exit 1;
}
deno run `
--allow-net `
"$scriptUrl" `
"${{ vars.PROJECT_NAME }}" `
"$issueNumber" `
"issue" `
"${{ secrets.CICD_REST_API }}";
sync_bot_manual_run:
name: Sync Bot (Manual Run)
if: (github.event_name == 'workflow_dispatch' && inputs.run-type == 'Sync Bot' && startsWith(github.head_ref, 'feature/'))
runs-on: ubuntu-latest
steps:
- name: Set Up Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Run Sync Bot (Manual Run)
if: startsWith(github.head_ref, 'feature/')
run: |
$scriptUrl = "${{ vars.SCRIPT_BASE_URL }}/${{ vars.CICD_SCRIPTS_VERSION }}/${{ vars.SCRIPT_RELATIVE_DIR_PATH}}/sync-bot-status-check.ts";
$issurOrPRNumber = "${{ inputs.issurOrPRNumber }}";
echo "Event Name: $eventName";
echo "Project Name: ${{ vars.PROJECT_NAME }}";
echo "PR Number: $issurOrPRNumber";
if ($manuallyExecuted -and $issurOrPRNumber -eq "0") {
echo "The issue or PR number must be a value greater than 0.";
exit 1;
}
deno run `
--allow-net `
"$scriptUrl" `
"${{ vars.PROJECT_NAME }}" `
"$issurOrPRNumber" `
"pr" `
"${{ secrets.CICD_REST_API }}";
status_check:
name: Sync Status Check
if: |
(github.event_name == 'pull_request' && startsWith(github.head_ref, 'feature/')) ||
(github.event_name == 'workflow_dispatch' && inputs.run-type == 'Sync Status Check' && startsWith(github.head_ref, 'feature/'))
runs-on: ubuntu-latest
steps:
- name: Set Up Deno
uses: denoland/setup-deno@v1
with:
deno-version: v1.x
- name: Run Sync Status Check
run: |
$scriptUrl = "${{ vars.SCRIPT_BASE_URL }}/${{ vars.CICD_SCRIPTS_VERSION }}/${{ vars.SCRIPT_RELATIVE_DIR_PATH}}/sync-bot-status-check.ts";
$eventName = "${{ github.event_name }}";
$manuallyExecuted = $eventName -eq "workflow_dispatch";
$prNumber = $manuallyExecuted ? "${{ inputs.issurOrPRNumber }}" : "${{ github.event.number }}";
echo "Event Name: $eventName";
echo "Project Name: ${{ vars.PROJECT_NAME }}";
echo "PR Number: $prNumber";
echo "Event Type: pr";
if ($manuallyExecuted -and $prNumber -eq "0") {
echo "The issue or PR number must be a value greater than 0.";
exit 1;
}
deno run `
--allow-net `
"$scriptUrl" `
"${{ vars.PROJECT_NAME }}" `
"$prNumber" `
"pr" `
"${{ secrets.CICD_REST_API }}";