@@ -40,18 +40,19 @@ jobs:
4040 exit 0
4141 fi
4242
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 ))
4850
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"
5053
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
5556 echo "should_release=true" >> $GITHUB_OUTPUT
5657 else
5758 echo "should_release=false" >> $GITHUB_OUTPUT
0 commit comments