Skip to content

Release sigstore gradle plugins to Gradle Plugin Portal #12

Release sigstore gradle plugins to Gradle Plugin Portal

Release sigstore gradle plugins to Gradle Plugin Portal #12

name: Release sigstore gradle plugins to Gradle Plugin Portal
on:
workflow_dispatch:
jobs:
process-tag:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- name: checkout tag
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
with:
persist-credentials: false
- name: process tag
id: version
env:
TAG: ${{ github.ref_name }}
run: |
echo "version=${TAG#"v"}" >> $GITHUB_OUTPUT
- name: verify tag matches gradle version
env:
TAG_VERSION: ${{ steps.version.outputs.version }}
REF: ${{ github.ref }}
run: |
set -Eeo pipefail
version=$(grep "^version=" gradle.properties | cut -d'=' -f2)
if [[ ! "$version" == "${TAG_VERSION}" ]]; then
echo "tagged version ${REF} (as ${TAG_VERSION}) does not match gradle.properties $version"
exit 1
fi
ci:
needs: [process-tag]
permissions:
id-token: write # To run github oidc tests
uses: ./.github/workflows/ci.yaml
build:
permissions:
id-token: write # To sign the artifacts
runs-on: ubuntu-latest
needs: [ci]
steps:
- name: Checkout tag
uses: actions/checkout@08eba0b27e820071cde6df949e0beb9ba4906955 # v4.3.0
with:
persist-credentials: false
- name: Set up JDK 17
uses: actions/setup-java@c5195efecf7bdfc987ee8bae7a71cb8b11521c00 # v4.7.1
with:
java-version: 17
distribution: 'temurin'
- name: Setup Gradle
uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4
- name: Build, Sign and Release to Gradle Plugin Portal
run: |
./gradlew publishPlugins -Prelease -Pgradle.publish.key=$GRADLE_PUBLISH_KEY -Pgradle.publish.secret=$GRADLE_PUBLISH_SECRET
env:
ORG_GRADLE_PROJECT_signingKey: ${{ secrets.PGP_PRIVATE_KEY }}
ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.PGP_PASSPHRASE }}
GRADLE_PUBLISH_KEY: ${{ secrets.GRADLE_PUBLISH_KEY }}
GRADLE_PUBLISH_SECRET: ${{ secrets.GRADLE_PUBLISH_SECRET }}