2
0
Эх сурвалжийг харах

Add workflow for scheduling releases on maintenance branches

Closes gh-11180
Steve Riesenberg 3 жил өмнө
parent
commit
ad19fc1330

+ 29 - 0
.github/workflows/release-scheduler.yml

@@ -0,0 +1,29 @@
+name: Release Scheduler
+
+on:
+  schedule:
+    - cron: '15 15 * * MON' # Every Monday at 3:15pm UTC
+  workflow_dispatch:
+
+jobs:
+  dispatch_scheduled_releases:
+    name: Dispatch scheduled releases
+    if: ${{ github.repository == 'spring-projects/spring-security' }}
+    strategy:
+      matrix:
+        #
+        # List of active maintenance branches.
+        #
+        branch:
+          - 'main'
+          - '5.8.x'
+          - '5.7.x'
+          - '5.6.x'
+    runs-on: ubuntu-latest
+    env:
+      TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }}
+    steps:
+      - uses: actions/checkout@v2
+      - uses: spring-io/spring-gradle-build-action@v1
+      - name: Trigger release workflow
+        run: ./gradlew dispatchGitHubWorkflow -Pbranch=${{ matrix.branch }} -PworkflowId=update-scheduled-release-version.yml -PgitHubAccessToken=$TOKEN

+ 3 - 5
.github/workflows/release-next-version.yml → .github/workflows/update-scheduled-release-version.yml

@@ -1,9 +1,7 @@
-name: Release Next Version
+name: Update Scheduled Release Version
 
 on:
-  schedule:
-    - cron: '0 17 * * MON' # Every Monday at 5pm UTC
-  workflow_dispatch: # Manual trigger
+  workflow_dispatch: # Manual trigger only. Triggered by release-scheduler.yml on main.
 
 env:
   SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
@@ -12,7 +10,7 @@ env:
   GRADLE_ENTERPRISE_SECRET_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_SECRET_ACCESS_KEY }}
 
 jobs:
-  release-next-version:
+  update_scheduled_release_version:
     name: Initiate Release If Scheduled
     if: ${{ github.repository == 'spring-projects/spring-security' }}
     runs-on: ubuntu-latest