Skip to content

Commit b3ba200

Browse files
committed
Update bug for string comparison
1 parent 5050036 commit b3ba200

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

.github/workflows/release-labeling.yml

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,27 @@
11
name: Test Auto-label PR with next release date
22

3+
permissions:
4+
pull-requests: write
5+
36
on:
7+
workflow_dispatch:
8+
inputs:
9+
test_date:
10+
description: 'Override today\'s date for testing (YYYY-MM-DD)'
11+
required: false
12+
type: string
13+
pr_number:
14+
description: 'PR number to label (for testing)'
15+
required: true
16+
type: number
417
pull_request:
518
types: [opened]
619
branches:
720
- develop # Test on develop branch first
821

922
jobs:
1023
add-release-label:
24+
name: Add Release Label
1125
runs-on: ubuntu-latest
1226
steps:
1327
- name: Calculate next release date
@@ -32,7 +46,10 @@ jobs:
3246
FREEZE_START_2="2025-12-30"
3347
FREEZE_END_2="2026-01-06"
3448
35-
TODAY=$(date +%Y-%m-%d)
49+
TODAY="${{ github.event.inputs.test_date }}"
50+
if [ -z "$TODAY" ]; then
51+
TODAY=$(date +%Y-%m-%d)
52+
fi
3653
3754
# DEBUG: Output initial values
3855
echo "DEBUG: Today: $TODAY"
@@ -60,7 +77,13 @@ jobs:
6077
MAX_ITERATIONS=3 # Safety guard - worst case is 2 freeze periods
6178
ITERATION=0
6279
while [ $ITERATION -lt $MAX_ITERATIONS ]; do
63-
if [[ "$NEXT_RELEASE_DATE" >= "$FREEZE_START_1" && "$NEXT_RELEASE_DATE" <= "$FREEZE_END_1" ]]; then
80+
RELEASE_TIMESTAMP=$(date -d "$NEXT_RELEASE_DATE" +%s)
81+
FREEZE1_START_TS=$(date -d "$FREEZE_START_1" +%s)
82+
FREEZE1_END_TS=$(date -d "$FREEZE_END_1" +%s)
83+
FREEZE2_START_TS=$(date -d "$FREEZE_START_2" +%s)
84+
FREEZE2_END_TS=$(date -d "$FREEZE_END_2" +%s)
85+
86+
if [ $RELEASE_TIMESTAMP -ge $FREEZE1_START_TS ] && [ $RELEASE_TIMESTAMP -le $FREEZE1_END_TS ]; then
6487
echo "DEBUG: Date falls in freeze period 1, adjusting..."
6588
NEXT_RELEASE_DATE=$(date -d "$FREEZE_END_1 + 1 day" +%Y-%m-%d)
6689
NEXT_RELEASE_DATE=$(adjust_to_tuesday "$NEXT_RELEASE_DATE")
@@ -69,7 +92,7 @@ jobs:
6992
continue
7093
fi
7194
72-
if [[ "$NEXT_RELEASE_DATE" >= "$FREEZE_START_2" && "$NEXT_RELEASE_DATE" <= "$FREEZE_END_2" ]]; then
95+
if [ $RELEASE_TIMESTAMP -ge $FREEZE2_START_TS ] && [ $RELEASE_TIMESTAMP -le $FREEZE2_END_TS ]; then
7396
echo "DEBUG: Date falls in freeze period 2, adjusting..."
7497
NEXT_RELEASE_DATE=$(date -d "$FREEZE_END_2 + 1 day" +%Y-%m-%d)
7598
NEXT_RELEASE_DATE=$(adjust_to_tuesday "$NEXT_RELEASE_DATE")
@@ -97,7 +120,7 @@ jobs:
97120
echo "date=$NEXT_RELEASE_DATE" >> $GITHUB_OUTPUT
98121
99122
- name: Add test release label to PR
100-
uses: actions/github-script@v6
123+
uses: actions/github-script@v4
101124
with:
102125
script: |
103126
const nextReleaseDate = "${{ steps.calculate_date.outputs.date }}";
@@ -107,19 +130,22 @@ jobs:
107130
throw new Error('Invalid date format received');
108131
}
109132
110-
console.log(`Adding test label: test-release:${nextReleaseDate}`);
133+
# Get PR number from input or event
134+
const prNumber = "${{ github.event.inputs.pr_number }}" || context.payload.pull_request.number;
135+
136+
console.log(`Adding test label: test-release:${nextReleaseDate} to PR #${prNumber}`);
111137
112138
await github.rest.issues.addLabels({
113139
owner: context.repo.owner,
114140
repo: context.repo.repo,
115-
issue_number: context.payload.pull_request.number,
141+
issue_number: prNumber,
116142
labels: [`test-release:${nextReleaseDate}`]
117143
});
118144
119145
// Also add a comment for easier verification
120146
await github.rest.issues.createComment({
121147
owner: context.repo.owner,
122148
repo: context.repo.repo,
123-
issue_number: context.payload.pull_request.number,
149+
issue_number: prNumber,
124150
body: `🧪 **Test Release Labeling**: This PR would be included in release \`${nextReleaseDate}\``
125151
});

0 commit comments

Comments
 (0)