diff --git a/.github/workflows/release-scheduler.yml b/.github/workflows/release-scheduler.yml new file mode 100644 index 000000000..ffc6d0081 --- /dev/null +++ b/.github/workflows/release-scheduler.yml @@ -0,0 +1,27 @@ +name: Release Scheduler + +on: + schedule: + - cron: '15 13 * * THU' # Every Tuesday at 13:15pm UTC + workflow_dispatch: + +permissions: read-all + +jobs: + dispatch_scheduled_releases: + name: Dispatch scheduled releases + if: ${{ github.repository_owner == 'spring-projects' }} + strategy: + matrix: + # List of active maintenance branches. + branch: [ main, 3.1.x, 2.4.x ] + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 1 + - name: Dispatch + env: + GH_TOKEN: ${{ secrets.GH_ACTIONS_REPO_TOKEN }} + run: gh workflow run update-scheduled-release-version.yml -r ${{ matrix.branch }} diff --git a/.github/workflows/update-scheduled-release-version.yml b/.github/workflows/update-scheduled-release-version.yml new file mode 100644 index 000000000..5c0a574c4 --- /dev/null +++ b/.github/workflows/update-scheduled-release-version.yml @@ -0,0 +1,10 @@ +name: Update Scheduled Release Version + +on: + workflow_dispatch: # Manual trigger only. Triggered by release-scheduler.yml on main. + +jobs: + update-scheduled-release-version: + name: Update Scheduled Release Version + uses: spring-io/spring-security-release-tools/.github/workflows/update-scheduled-release-version.yml@v1 + secrets: inherit diff --git a/build.gradle b/build.gradle index 1a4f91678..bde66174d 100644 --- a/build.gradle +++ b/build.gradle @@ -16,6 +16,7 @@ buildscript { apply plugin: 'io.spring.convention.root' apply plugin: 'io.spring.convention.docs' apply plugin: 'io.spring.javaformat' +apply plugin: 'io.spring.security.release' apply plugin: 's101' group = "org.springframework.ldap" @@ -52,6 +53,16 @@ asciidoctor { ] } +springRelease { + repositoryOwner = "spring-projects" + repositoryName = "spring-ldap" + weekOfMonth = 2 + dayOfWeek = 4 + referenceDocUrl = "https://docs.spring.io/spring-ldap/reference/{version}/index.html" + apiDocUrl = "https://docs.spring.io/spring-ldap/docs/{version}/api/" + replaceSnapshotVersionInReferenceDocUrl = true +} + s101 { configurationDirectory = project.file("etc/s101") } diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 232ffdcd1..af55f4dbe 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -88,6 +88,7 @@ dependencies { implementation 'com.github.ben-manes:gradle-versions-plugin:0.38.0' implementation 'com.github.spullara.mustache.java:compiler:0.9.4' implementation 'io.spring.javaformat:spring-javaformat-gradle-plugin:0.0.15' + implementation 'io.spring.gradle:spring-security-release-plugin:1.0.1' implementation 'io.spring.nohttp:nohttp-gradle:0.0.10' implementation 'net.sourceforge.htmlunit:htmlunit:2.37.0' implementation 'org.asciidoctor:asciidoctor-gradle-jvm:3.3.2'