@@ -40,18 +40,19 @@ jobs:
40
40
exit 0
41
41
fi
42
42
43
- # For scheduled runs, check if it's been 3 weeks since the last release
44
- LAST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "v0.0.0")
45
- LAST_TAG_DATE=$(git log -1 --format=%ct "$LAST_TAG" 2>/dev/null || echo "0")
46
- CURRENT_DATE=$(date +%s)
47
- DAYS_SINCE_RELEASE=$(( (CURRENT_DATE - LAST_TAG_DATE) / 86400 ))
43
+ START_DATE="2025-08-04" # start of a 3 week sprint
44
+ START_TIMESTAMP=$(date -d "$START_DATE" +%s)
45
+ CURRENT_TIMESTAMP=$(date +%s)
46
+ # Add 12 hour buffer (43200 seconds) to account for scheduling delays
47
+ ADJUSTED_TIMESTAMP=$((CURRENT_TIMESTAMP + 43200))
48
+ DAYS_SINCE_START=$(( (ADJUSTED_TIMESTAMP - START_TIMESTAMP) / 86400 ))
49
+ WEEKS_SINCE_START=$(( DAYS_SINCE_START / 7 ))
48
50
49
- echo "Days since last release: $DAYS_SINCE_RELEASE"
51
+ echo "Days since start date ($START_DATE): $DAYS_SINCE_START"
52
+ echo "Weeks since start date: $WEEKS_SINCE_START"
50
53
51
- # Release if it's been at least 19 days
52
- # This allows a couple days of buffer
53
- # in case the previous release didn't happen immediately
54
- if [ $DAYS_SINCE_RELEASE -ge 19 ]; then
54
+ # Release every 3 weeks
55
+ if [ $WEEKS_SINCE_START -gt 0 ] && [ $((WEEKS_SINCE_START % 3)) -eq 0 ]; then
55
56
echo "should_release=true" >> $GITHUB_OUTPUT
56
57
else
57
58
echo "should_release=false" >> $GITHUB_OUTPUT
0 commit comments