name: Release on: workflow_dispatch: inputs: version: description: "Release version" required: true jobs: build: name: "Stable Release" if: github.repository == 'sdkman/sdkman-cli' runs-on: ubuntu-latest environment: production env: JRELEASER_GITHUB_TOKEN: ${{ github.token }} JRELEASER_TWITTER_CONSUMER_KEY: ${{ secrets.TWITTER_CONSUMER_API_KEY }} JRELEASER_TWITTER_CONSUMER_SECRET: ${{ secrets.TWITTER_CONSUMER_API_SECRET }} JRELEASER_TWITTER_ACCESS_TOKEN: ${{ secrets.TWITTER_ACCESS_TOKEN }} JRELEASER_TWITTER_ACCESS_TOKEN_SECRET: ${{ secrets.TWITTER_ACCESS_TOKEN_SECRET }} JRELEASER_HOMEBREW_GITHUB_TOKEN: ${{ secrets.HOMEBREW_GITHUB_TOKEN }} services: mongodb: image: mongo:3.2 ports: - 27017:27017 steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - uses: actions/setup-java@v3 with: distribution: 'temurin' java-version: '11' - name: Run tests run: ./gradlew clean test --info - name: Build artifacts run: ./gradlew -Penv=stable -Prelease=${{ github.event.inputs.version }} clean assemble - name: Release run: ./gradlew -Penv=stable -Prelease=${{ github.event.inputs.version }} jreleaserFullRelease --exclude-announcer=twitter - name: Update MongoDB env: MONGO_URL: ${{ secrets.MONGO_URL }} MONGO_USERNAME: ${{ secrets.MONGO_USERNAME }} MONGO_PASSWORD: ${{ secrets.MONGO_PASSWORD }} RELEASE_TAG: ${{ github.event.inputs.version }} run: bin/release-binary.sh "$MONGO_URL" "$MONGO_USERNAME" "$MONGO_PASSWORD" "$RELEASE_TAG" "stable" - name: Tweet about it run: ./gradlew -Penv=stable -Prelease=${{ github.event.inputs.version }} jreleaserAnnounce