Skip to content

v2.2.2

v2.2.2 #7

Workflow file for this run

# 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