Skip to content

v0.4.0.15

v0.4.0.15 #22

name: Publish to JetBrains Marketplace
on:
release:
types: [ published ]
workflow_dispatch:
inputs:
release_tag:
description: 'Use release notes of'
type: string
required: true
jobs:
publish:
name: Publish release
runs-on: ubuntu-latest
steps:
# Setup environment
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up build tools
uses: ./.github/actions/setup-tools
# Build and publish
- name: Obtain release notes
uses: actions/github-script@v7
with:
script: |
await require('.github/scripts/get-release-notes.js')({
github, context, core,
outputFile: 'release_note.md',
releaseTagInput: 'release_tag',
allowFallbackToLatest: true,
});
- name: Patch changelog for release
run: ./gradlew --stacktrace patchChangelog --release-note="$(<release_note.md)"
- name: Build and publish plugin
id: gradle-build
env:
JETBRAINS_TOKEN: ${{ secrets.JETBRAINS_TOKEN }}
run: ./gradlew --stacktrace publishPlugin
# Upload artifacts
- name: Upload build reports
if: steps.gradle-build.outcome == 'success' || steps.gradle-build.outcome == 'failure'
uses: actions/upload-artifact@v4
with:
name: build-reports
path: build/reports/
if-no-files-found: ignore