mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2026-03-02 03:39:24 +00:00
GitHub Actions: update Build and Release flows
This commit is contained in:
committed by
Jakub Chrzanowski
parent
1a5e465697
commit
b7785a3c26
78
.github/workflows/release.yml
vendored
78
.github/workflows/release.yml
vendored
@@ -27,46 +27,56 @@ jobs:
|
||||
with:
|
||||
ref: ${{ github.event.release.tag_name }}
|
||||
|
||||
# Cache Gradle Dependencies
|
||||
- name: Setup Gradle Dependencies Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/caches
|
||||
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }}
|
||||
|
||||
# Cache Gradle Wrapper
|
||||
- name: Setup Gradle Wrapper Cache
|
||||
uses: actions/cache@v2.1.6
|
||||
with:
|
||||
path: ~/.gradle/wrapper
|
||||
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
|
||||
|
||||
# Update Unreleased section with the current release note
|
||||
- name: Patch Changelog
|
||||
run: |
|
||||
./gradlew patchChangelog --release-note="`cat << EOM
|
||||
${{ github.event.release.body }}
|
||||
EOM`"
|
||||
|
||||
# Publish the plugin to the Marketplace
|
||||
- name: Publish Plugin
|
||||
env:
|
||||
PUBLISH_TOKEN: ${{ secrets.PUBLISH_TOKEN }}
|
||||
run: ./gradlew publishPlugin
|
||||
|
||||
# Patch changelog, commit and push to the current repository
|
||||
changelog:
|
||||
name: Update Changelog
|
||||
needs: release
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# 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/*
|
||||
|
||||
# Setup Java 11 environment for the next steps
|
||||
- name: Setup Java
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
distribution: zulu
|
||||
java-version: 11
|
||||
|
||||
# Check out current repository
|
||||
- name: Fetch Sources
|
||||
uses: actions/checkout@v2.3.4
|
||||
with:
|
||||
ref: ${{ github.event.release.tag_name }}
|
||||
|
||||
# Update Unreleased section with the current version
|
||||
- name: Patch Changelog
|
||||
run: ./gradlew patchChangelog
|
||||
|
||||
# Commit patched Changelog
|
||||
- name: Commit files
|
||||
# Create pull request
|
||||
- name: Create Pull Request
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
git config --local user.email "action@github.com"
|
||||
git config --local user.name "GitHub Action"
|
||||
git commit -m "Update changelog" -a
|
||||
VERSION="${{ github.event.release.tag_name }}"
|
||||
BRANCH="changelog-update-$VERSION"
|
||||
|
||||
# Push changes
|
||||
- name: Push changes
|
||||
uses: ad-m/github-push-action@master
|
||||
with:
|
||||
branch: main
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
git config user.email "action@github.com"
|
||||
git config user.name "GitHub Action"
|
||||
|
||||
git checkout -b $BRANCH
|
||||
git commit -am "Changelog update - $VERSION"
|
||||
git push --set-upstream origin $BRANCH
|
||||
|
||||
gh pr create \
|
||||
--title "Changelog update - \`$VERSION\`" \
|
||||
--body "Current pull request contains patched \`CHANGELOG.md\` file for the \`$VERSION\` version." \
|
||||
--base main \
|
||||
--head $BRANCH
|
||||
|
||||
Reference in New Issue
Block a user