From 5075d9689c9d43a07481d0017aa457db911d4d1d Mon Sep 17 00:00:00 2001 From: andrefigas Date: Sat, 7 Feb 2026 15:31:05 +0000 Subject: [PATCH] Add CD workflow for Gradle Plugin Portal publishing Publishes to Gradle Plugin Portal on push to main using the publishPlugins task. Uses GitHub Environment 'release' with required reviewer for access control over publish credentials. --- .github/workflows/cd.yaml | 44 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .github/workflows/cd.yaml diff --git a/.github/workflows/cd.yaml b/.github/workflows/cd.yaml new file mode 100644 index 0000000..c974c27 --- /dev/null +++ b/.github/workflows/cd.yaml @@ -0,0 +1,44 @@ +name: CD - Publish to Gradle Plugin Portal + +on: + push: + branches: + - main + +jobs: + publish: + runs-on: ubuntu-latest + environment: release + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up JDK 17 + uses: actions/setup-java@v3 + with: + distribution: 'zulu' + java-version: '17' + + - name: Cache Gradle dependencies + uses: actions/cache@v3 + with: + path: | + ~/.gradle/caches + ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties') }} + restore-keys: | + ${{ runner.os }}-gradle- + + - name: Grant execute permission for Gradle Wrapper + run: chmod +x gradle-plugin/gradlew + + - name: Build plugin + run: | + cd gradle-plugin + ./gradlew build + + - name: Publish to Gradle Plugin Portal + run: | + cd gradle-plugin + ./gradlew publishPlugins -Pgradle.publish.key=${{ secrets.GRADLE_PUBLISH_KEY }} -Pgradle.publish.secret=${{ secrets.GRADLE_PUBLISH_SECRET }}