mirror of
https://github.com/JetBrains/intellij-platform-plugin-template.git
synced 2024-10-27 20:44:05 +00:00
GitHub Actions general performance refactoring
This commit is contained in:
parent
badb6ae1db
commit
d8648e589d
148
.github/workflows/build.yml
vendored
148
.github/workflows/build.yml
vendored
@ -23,99 +23,10 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
|
|
||||||
# Run Gradle Wrapper Validation Action to verify the wrapper's checksum
|
# Run Gradle Wrapper Validation Action to verify the wrapper's checksum
|
||||||
gradleValidation:
|
|
||||||
name: Gradle Wrapper
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# Check out current repository
|
|
||||||
- name: Fetch Sources
|
|
||||||
uses: actions/checkout@v2.3.4
|
|
||||||
|
|
||||||
# Validate wrapper
|
|
||||||
- name: Gradle Wrapper Validation
|
|
||||||
uses: gradle/wrapper-validation-action@v1.0.4
|
|
||||||
|
|
||||||
# Run verifyPlugin and test Gradle tasks
|
# Run verifyPlugin and test Gradle tasks
|
||||||
test:
|
# Build plugin and provide the artifact for the next workflow jobs
|
||||||
name: Test
|
|
||||||
needs: gradleValidation
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
|
|
||||||
# Check out current repository
|
|
||||||
- name: Fetch Sources
|
|
||||||
uses: actions/checkout@v2.3.4
|
|
||||||
|
|
||||||
# Setup Java 11 environment for the next steps
|
|
||||||
- name: Setup Java
|
|
||||||
uses: actions/setup-java@v2
|
|
||||||
with:
|
|
||||||
distribution: zulu
|
|
||||||
java-version: 11
|
|
||||||
cache: gradle
|
|
||||||
|
|
||||||
# Set environment variables
|
|
||||||
- name: Export Properties
|
|
||||||
id: properties
|
|
||||||
shell: bash
|
|
||||||
run: |
|
|
||||||
PROPERTIES="$(./gradlew properties --console=plain -q)"
|
|
||||||
IDE_VERSIONS="$(echo "$PROPERTIES" | grep "^pluginVerifierIdeVersions:" | base64)"
|
|
||||||
|
|
||||||
echo "::set-output name=ideVersions::$IDE_VERSIONS"
|
|
||||||
echo "::set-output name=pluginVerifierHomeDir::~/.pluginVerifier"
|
|
||||||
|
|
||||||
# Cache Plugin Verifier IDEs
|
|
||||||
- name: Setup Plugin Verifier IDEs Cache
|
|
||||||
uses: actions/cache@v2.1.6
|
|
||||||
with:
|
|
||||||
path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides
|
|
||||||
key: plugin-verifier-${{ steps.properties.outputs.ideVersions }}
|
|
||||||
|
|
||||||
# Run Qodana inspections
|
|
||||||
- name: Qodana - Code Inspection
|
|
||||||
uses: JetBrains/qodana-action@v2.1-eap
|
|
||||||
|
|
||||||
# Collect Qodana Result
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: qodana-result
|
|
||||||
path: ${{ github.workspace }}/qodana
|
|
||||||
|
|
||||||
# Run tests
|
|
||||||
- name: Run Tests
|
|
||||||
run: ./gradlew test
|
|
||||||
|
|
||||||
# Collect Tests Result of failed tests
|
|
||||||
- name: Collect Tests Result
|
|
||||||
if: ${{ failure() }}
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: tests-result
|
|
||||||
path: ${{ github.workspace }}/build/reports/tests
|
|
||||||
|
|
||||||
# Run verifyPlugin Gradle task
|
|
||||||
- name: Verify Plugin
|
|
||||||
run: ./gradlew verifyPlugin
|
|
||||||
|
|
||||||
# Run IntelliJ Plugin Verifier action using GitHub Action
|
|
||||||
- name: Run Plugin Verifier
|
|
||||||
run: ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }}
|
|
||||||
|
|
||||||
# Collect Plugin Verifier Result
|
|
||||||
- name: Collect Plugin Verifier Result
|
|
||||||
if: ${{ always() }}
|
|
||||||
uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: pluginVerifier-result
|
|
||||||
path: ${{ github.workspace }}/build/reports/pluginVerifier
|
|
||||||
|
|
||||||
# Build plugin with buildPlugin Gradle task and provide the artifact for the next workflow jobs
|
|
||||||
# Requires test job to be passed
|
|
||||||
build:
|
build:
|
||||||
name: Build
|
name: Build
|
||||||
needs: test
|
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
outputs:
|
outputs:
|
||||||
version: ${{ steps.properties.outputs.version }}
|
version: ${{ steps.properties.outputs.version }}
|
||||||
@ -126,6 +37,10 @@ jobs:
|
|||||||
- name: Fetch Sources
|
- name: Fetch Sources
|
||||||
uses: actions/checkout@v2.3.4
|
uses: actions/checkout@v2.3.4
|
||||||
|
|
||||||
|
# Validate wrapper
|
||||||
|
- name: Gradle Wrapper Validation
|
||||||
|
uses: gradle/wrapper-validation-action@v1.0.4
|
||||||
|
|
||||||
# Setup Java 11 environment for the next steps
|
# Setup Java 11 environment for the next steps
|
||||||
- name: Setup Java
|
- name: Setup Java
|
||||||
uses: actions/setup-java@v2
|
uses: actions/setup-java@v2
|
||||||
@ -150,16 +65,55 @@ jobs:
|
|||||||
echo "::set-output name=version::$VERSION"
|
echo "::set-output name=version::$VERSION"
|
||||||
echo "::set-output name=name::$NAME"
|
echo "::set-output name=name::$NAME"
|
||||||
echo "::set-output name=changelog::$CHANGELOG"
|
echo "::set-output name=changelog::$CHANGELOG"
|
||||||
|
echo "::set-output name=pluginVerifierHomeDir::~/.pluginVerifier"
|
||||||
|
|
||||||
# Build artifact using buildPlugin Gradle task
|
./gradlew listProductsReleases # prepare list of IDEs for Plugin Verifier
|
||||||
- name: Build Plugin
|
|
||||||
run: ./gradlew buildPlugin
|
|
||||||
|
|
||||||
# Store built plugin as an artifact for downloading
|
# Run tests
|
||||||
|
- name: Run Tests
|
||||||
|
run: ./gradlew test
|
||||||
|
|
||||||
|
# Collect Tests Result of failed tests
|
||||||
|
- name: Collect Tests Result
|
||||||
|
if: ${{ failure() }}
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: tests-result
|
||||||
|
path: ${{ github.workspace }}/build/reports/tests
|
||||||
|
|
||||||
|
# Cache Plugin Verifier IDEs
|
||||||
|
- name: Setup Plugin Verifier IDEs Cache
|
||||||
|
uses: actions/cache@v2.1.6
|
||||||
|
with:
|
||||||
|
path: ${{ steps.properties.outputs.pluginVerifierHomeDir }}/ides
|
||||||
|
key: plugin-verifier-${{ hashFiles("build/listProductsReleases.txt") }}
|
||||||
|
|
||||||
|
# Run Verify Plugin task and IntelliJ Plugin Verifier tool
|
||||||
|
- name: Run Plugin Verification tasks
|
||||||
|
run: ./gradlew runPluginVerifier -Pplugin.verifier.home.dir=${{ steps.properties.outputs.pluginVerifierHomeDir }}
|
||||||
|
|
||||||
|
# Collect Plugin Verifier Result
|
||||||
|
- name: Collect Plugin Verifier Result
|
||||||
|
if: ${{ always() }}
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: pluginVerifier-result
|
||||||
|
path: ${{ github.workspace }}/build/reports/pluginVerifier
|
||||||
|
|
||||||
|
# Run Qodana inspections
|
||||||
|
- name: Qodana - Code Inspection
|
||||||
|
uses: JetBrains/qodana-action@v2.1-eap
|
||||||
|
|
||||||
|
# Collect Qodana Result
|
||||||
|
- uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: qodana-result
|
||||||
|
path: ${{ github.workspace }}/qodana
|
||||||
|
|
||||||
|
# Store already-built plugin as an artifact for downloading
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v2.2.4
|
uses: actions/upload-artifact@v2.2.4
|
||||||
with:
|
with:
|
||||||
name: "${{ steps.properties.outputs.name }} - ${{ steps.properties.outputs.version }}"
|
|
||||||
path: ./build/distributions/*
|
path: ./build/distributions/*
|
||||||
|
|
||||||
# Prepare a draft release for GitHub Releases page for the manual verification
|
# Prepare a draft release for GitHub Releases page for the manual verification
|
||||||
@ -171,10 +125,6 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
# Check out current repository
|
|
||||||
- name: Fetch Sources
|
|
||||||
uses: actions/checkout@v2.3.4
|
|
||||||
|
|
||||||
# Remove old release drafts by using the curl request for the available releases with draft flag
|
# Remove old release drafts by using the curl request for the available releases with draft flag
|
||||||
- name: Remove Old Release Drafts
|
- name: Remove Old Release Drafts
|
||||||
env:
|
env:
|
||||||
|
@ -9,7 +9,10 @@
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
- Dependencies - upgrade `org.jetbrains.intellij` to `1.2.0`
|
- Dependencies - upgrade `org.jetbrains.intellij` to `1.2.0`
|
||||||
- Update `pluginVerifierIdeVersions` to `2021.2.2`
|
- GitHub Actions general performance refactoring
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
- Removed the `pluginVerifierIdeVersions` configuration to use default IDEs list provided by the `listProductsReleases` task for `runPluginVerifier`
|
||||||
|
|
||||||
## [1.0.0]
|
## [1.0.0]
|
||||||
### Added
|
### Added
|
||||||
|
Loading…
Reference in New Issue
Block a user