v2.2.2 #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Secrets required: PUBLISH_TOKEN, PRIVATE_KEY, PRIVATE_KEY_PASSWORD, CERTIFICATE_CHAIN. | |
| name: Release | |
| on: | |
| release: | |
| types: [released] | |
| jobs: | |
| publish: | |
| name: π Publish | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| environment: | |
| name: release | |
| url: https://plugins.jetbrains.com/plugin/20536-pyvenv-manage-2 | |
| steps: | |
| - name: π₯ Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| ref: ${{ github.event.release.tag_name }} | |
| - name: π§Ή Free disk space | |
| uses: jlumbroso/free-disk-space@main | |
| with: | |
| tool-cache: false | |
| large-packages: false | |
| - name: β Set up Java | |
| uses: actions/setup-java@v5 | |
| with: | |
| distribution: zulu | |
| java-version: 21 | |
| - name: π Set up Gradle | |
| uses: gradle/actions/setup-gradle@v5 | |
| - name: π·οΈ Set version from tag | |
| id: version | |
| run: | | |
| VERSION="${{ github.event.release.tag_name }}" | |
| VERSION="${VERSION#v}" | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| sed -i "s/^pluginVersion=.*/pluginVersion=$VERSION/" gradle.properties | |
| - name: π Update changelog | |
| if: ${{ github.event.release.body != '' }} | |
| run: | | |
| cat > /tmp/release-notes.txt << 'RELEASE_NOTES_EOF' | |
| ${{ github.event.release.body }} | |
| RELEASE_NOTES_EOF | |
| ./gradlew patchChangelog --release-note="$(cat /tmp/release-notes.txt)" | |
| - name: π€ Publish to JetBrains Marketplace | |
| env: | |
| PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} | |
| CERTIFICATE_CHAIN: ${{ secrets.CERTIFICATE_CHAIN }} | |
| PRIVATE_KEY: ${{ secrets.PRIVATE_KEY }} | |
| PRIVATE_KEY_PASSWORD: ${{ secrets.PRIVATE_KEY_PASSWORD }} | |
| run: ./gradlew publishPlugin | |
| - name: π Upload release artifact | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: gh release upload ${{ github.event.release.tag_name }} ./build/distributions/* | |
| - name: π’ Calculate next dev version | |
| id: next | |
| run: | | |
| VERSION="${{ steps.version.outputs.version }}" | |
| IFS='.' read -r MAJOR MINOR PATCH <<< "$VERSION" | |
| NEXT_VERSION="$MAJOR.$MINOR.$((PATCH + 1))-dev" | |
| echo "next_version=$NEXT_VERSION" >> $GITHUB_OUTPUT | |
| - name: π Create post-release PR | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| VERSION="${{ github.event.release.tag_name }}" | |
| NEXT_VERSION="${{ steps.next.outputs.next_version }}" | |
| BRANCH="post-release-$VERSION" | |
| # Save patched changelog before switching branches | |
| cp CHANGELOG.md /tmp/CHANGELOG.md | |
| git config user.email "action@github.com" | |
| git config user.name "GitHub Action" | |
| git fetch origin main | |
| git checkout -b $BRANCH origin/main | |
| sed -i "s/^pluginVersion=.*/pluginVersion=$NEXT_VERSION/" gradle.properties | |
| cp /tmp/CHANGELOG.md CHANGELOG.md | |
| git add gradle.properties CHANGELOG.md | |
| git commit -m "Bump version to $NEXT_VERSION after $VERSION release" | |
| git push --set-upstream origin $BRANCH | |
| gh pr create \ | |
| --title "Bump version to \`$NEXT_VERSION\`" \ | |
| --body "Post-release version bump after $VERSION release." \ | |
| --head $BRANCH |