diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 44e36b0..41db6df 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -12,11 +12,12 @@ jobs: release: name: Publish Plugin runs-on: ubuntu-latest + if: github.repository != 'JetBrains/intellij-platform-plugin-template' steps: # Check out current repository - name: Fetch Sources - uses: actions/checkout@v2.4.0 + uses: actions/checkout@v2 with: ref: ${{ github.event.release.tag_name }} @@ -28,57 +29,46 @@ jobs: java-version: 11 cache: gradle - # Set environment variables - - name: Export Properties - id: properties - shell: bash - run: | - CHANGELOG="$(cat << 'EOM' | sed -e 's/^[[:space:]]*$//g' -e '/./,$!d' - ${{ github.event.release.body }} - EOM - )" - - echo "::set-output name=changelog::$CHANGELOG" - - # Update Unreleased section with the current release note - - name: Patch Changelog - if: ${{ steps.properties.outputs.changelog != '' }} - run: | - ./gradlew patchChangelog --release-note "$(cat << 'EOM' - ${{ steps.properties.outputs.changelog }} - EOM - )" - # Publish the plugin to the Marketplace - name: Publish Plugin env: PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }} run: ./gradlew publishPlugin - # Upload artifact as a release asset - - name: Upload Release Asset - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: gh release upload ${{ github.event.release.tag_name }} ./build/distributions/* + # Patch changelog, commit and push to the current repository + changelog: + name: Update Changelog + runs-on: ubuntu-latest + steps: - # Create pull request - - name: Create Pull Request - if: ${{ steps.properties.outputs.changelog != '' }} - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - VERSION="${{ github.event.release.tag_name }}" - BRANCH="changelog-update-$VERSION" + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + with: + ref: ${{ github.event.release.tag_name }} - git config user.email "action@github.com" - git config user.name "GitHub Action" + # Setup Java 11 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v2 + with: + distribution: zulu + java-version: 11 + cache: gradle + + # Publish the plugin to the Marketplace + - name: Patch Changelog + run: ./gradlew patchChangelog - git checkout -b $BRANCH - git commit -am "Changelog update - $VERSION" - git push --set-upstream origin $BRANCH + # Commit patched Changelog + - name: Commit files + run: | + git config --local user.email "action@github.com" + git config --local user.name "GitHub Action" + git commit -m "Update changelog" -a - gh pr create \ - --title "Changelog update - \`$VERSION\`" \ - --body "Current pull request contains patched \`CHANGELOG.md\` file for the \`$VERSION\` version." \ - --base main \ - --head $BRANCH + # Push changes + - name: Push changes + uses: ad-m/github-push-action@master + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + branch: ${{ github.ref }}