Skip to content

Commit

Permalink
IJMP-1817 Testing new GitHub Actions
Browse files Browse the repository at this point in the history
Signed-off-by: Uladzislau <leksilonchikk@gmail.com>
  • Loading branch information
KUGDev committed Jul 17, 2024
1 parent daf23a6 commit f4e8f36
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 84 deletions.
62 changes: 53 additions & 9 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,18 @@ concurrency:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
product: ["IC-231","IC-233"]
include:
- product: "IC-231"
distribution: "zulu"
java: "17"
- product: "IC-233"
distribution: "zulu"
java: "17"
max-parallel: 10
fail-fast: false
outputs:
pluginVerifierHomeDir: ${{ steps.properties.outputs.pluginVerifierHomeDir }}
steps:
Expand All @@ -32,8 +44,8 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
Expand All @@ -48,6 +60,7 @@ jobs:
id: properties
env:
AUTO_SNAPSHOT_VERSION: false
PRODUCT_NAME: ${{ matrix.product }}
shell: bash
run: |
PROPERTIES="$(./gradlew properties --console=plain -q)"
Expand All @@ -60,6 +73,8 @@ jobs:
- name: Build plugin
shell: bash
run: ./gradlew buildPlugin
env:
PRODUCT_NAME: ${{ matrix.product }}

- name: Prepare Plugin Artifact
id: artifact
Expand All @@ -81,6 +96,18 @@ jobs:
test_and_sonar:
needs: [build]
runs-on: ubuntu-latest
strategy:
matrix:
product: ["IC-231","IC-233"]
include:
- product: "IC-231"
distribution: "zulu"
java: "17"
- product: "IC-233"
distribution: "zulu"
java: "17"
max-parallel: 10
fail-fast: false
steps:

- name: Checkout the plugin GitHub repository
Expand All @@ -89,8 +116,8 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
Expand All @@ -100,6 +127,8 @@ jobs:
- name: Run tests
shell: bash
run: ./gradlew test
env:
PRODUCT_NAME: ${{ matrix.product }}

- name: Publish tests result to artifacts
uses: actions/upload-artifact@v4
Expand All @@ -110,7 +139,7 @@ jobs:
- name: Publish code coverage report to artifacts
uses: actions/upload-artifact@v4
with:
name: code-coverage-report
name: code-coverage-report-${{ matrix.product }}
path: ${{ github.workspace }}/build/reports/kover/html

- name: SonarCloud scans
Expand All @@ -120,11 +149,24 @@ jobs:
SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GIT_TOKEN }}
PRODUCT_NAME: ${{ matrix.product }}

verify:
if: ${{ contains(github.ref, 'refs/heads/release/') }}
if: ${{ contains(github.ref, 'refs/heads/release/') || contains(github.ref, 'refs/heads/main') }}
needs: [build]
runs-on: ubuntu-latest
strategy:
matrix:
product: ["IC-231","IC-233"]
include:
- product: "IC-231"
distribution: "zulu"
java: "17"
- product: "IC-233"
distribution: "zulu"
java: "17"
max-parallel: 10
fail-fast: false
steps:

- name: Maximize Build Space
Expand All @@ -139,8 +181,8 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
java-version: 17
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
Expand All @@ -157,9 +199,11 @@ jobs:
continue-on-error: true
shell: bash
run: ./gradlew runPluginVerifier -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }}
env:
PRODUCT_NAME: ${{ matrix.product }}

- name: Collect Plugin Verifier Result
uses: actions/upload-artifact@v4
with:
name: plugin-verifier-report
name: plugin-verifier-report-${{ matrix.product }}
path: ${{ github.workspace }}/build/reports/pluginVerifier
94 changes: 71 additions & 23 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
workflow_dispatch:

jobs:
release:
changelog-and-preparations:
runs-on: ubuntu-latest
permissions:
contents: write
Expand All @@ -28,7 +28,7 @@ jobs:
- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: zulu
distribution: "zulu"
java-version: 17

- name: Setup Gradle
Expand All @@ -44,20 +44,12 @@ jobs:
PLUGIN_VERSION_FULL="$(echo "$PROPERTIES" | grep "^pluginVersion:" | cut -f2- -d ' ')"
CURR_COMMIT="$(git rev-parse HEAD)"
echo "pluginVersionFull: $PLUGIN_VERSION_FULL"
echo "pluginVersionSemVer: $PLUGIN_VERSION_FULL"
echo "currCommit: $CURR_COMMIT"
echo "pluginVersionFull=$PLUGIN_VERSION_FULL" >> $GITHUB_OUTPUT
echo "pluginVersionSemVer=$PLUGIN_VERSION_FULL" >> $GITHUB_OUTPUT
echo "currCommit=$CURR_COMMIT" >> $GITHUB_OUTPUT
- name: Publish Plugin
env:
INTELLIJ_SIGNING_PUBLISH_TOKEN: ${{ secrets.INTELLIJ_SIGNING_PUBLISH_TOKEN }}
INTELLIJ_SIGNING_CERTIFICATE_CHAIN: ${{ secrets.INTELLIJ_SIGNING_CERTIFICATE_CHAIN }}
INTELLIJ_SIGNING_PRIVATE_KEY: ${{ secrets.INTELLIJ_SIGNING_PRIVATE_KEY }}
INTELLIJ_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.INTELLIJ_SIGNING_PRIVATE_KEY_PASSWORD }}
run: ./gradlew publishPlugin

- name: Prepare release notes
id: release_notes
shell: bash
Expand All @@ -75,23 +67,17 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
git tag ${{ steps.properties.outputs.pluginVersionFull }}
git push origin ${{ steps.properties.outputs.pluginVersionFull }}
gh release create ${{ steps.properties.outputs.pluginVersionFull }} --title ${{ steps.properties.outputs.pluginVersionFull }} --target ${{ steps.properties.outputs.currCommit }} -F- <<EOF
git tag ${{ steps.properties.outputs.pluginVersionSemVer }}
git push origin ${{ steps.properties.outputs.pluginVersionSemVer }}
gh release create ${{ steps.properties.outputs.pluginVersionSemVer }} --title ${{ steps.properties.outputs.pluginVersionSemVer }} --target ${{ steps.properties.outputs.currCommit }} -F- <<EOF
${{ steps.release_notes.outputs.version_release_notes }}
EOF
- name: Upload Release Built Artifact
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{ steps.properties.outputs.pluginVersionFull }} ./build/distributions/*

- name: Create Pull Request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION="${{ steps.properties.outputs.pluginVersionFull }}"
VERSION="${{ steps.properties.outputs.pluginVersionSemVer }}"
BRANCH="release-changelog-update-$VERSION"
git config user.email "action@github.com"
Expand All @@ -113,5 +99,67 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api repos/{owner}/{repo}/milestones \
--jq '.[] | select(.title == "${{ steps.properties.outputs.pluginVersionFull }}") | .number' \
--jq '.[] | select(.title == "${{ steps.properties.outputs.pluginVersionSemVer }}") | .number' \
| xargs -I '{}' gh api -X PATCH repos/{owner}/{repo}/milestones/{} -F state='closed'
release:
runs-on: ubuntu-latest
strategy:
matrix:
product: ["IC-231","IC-233"]
include:
- product: "IC-231"
distribution: "zulu"
java: "17"
- product: "IC-233"
distribution: "zulu"
java: "17"
max-parallel: 10
fail-fast: false
steps:

- name: Checkout the plugin GitHub repository
uses: actions/checkout@v4

- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2

- name: Setup Java
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.distribution }}
java-version: ${{ matrix.java }}

- name: Setup Gradle
uses: gradle/actions/setup-gradle@v3
with:
gradle-home-cache-cleanup: true

- name: Fetch Gradle properties for a specific product
id: properties
shell: bash
run: |
PROPERTIES="$(./gradlew properties --console=plain -q)"
PLUGIN_VERSION_FULL="$(echo "$PROPERTIES" | grep "^pluginVersion:" | cut -f2- -d ' ')-$PRODUCT_NAME"
CURR_COMMIT="$(git rev-parse HEAD)"
echo "pluginVersionFull: $PLUGIN_VERSION_FULL"
echo "currCommit: $CURR_COMMIT"
echo "pluginVersionFull=$PLUGIN_VERSION_FULL" >> $GITHUB_OUTPUT
echo "currCommit=$CURR_COMMIT" >> $GITHUB_OUTPUT
- name: Publish Plugin
env:
INTELLIJ_SIGNING_PUBLISH_TOKEN: ${{ secrets.INTELLIJ_SIGNING_PUBLISH_TOKEN }}
INTELLIJ_SIGNING_CERTIFICATE_CHAIN: ${{ secrets.INTELLIJ_SIGNING_CERTIFICATE_CHAIN }}
INTELLIJ_SIGNING_PRIVATE_KEY: ${{ secrets.INTELLIJ_SIGNING_PRIVATE_KEY }}
INTELLIJ_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.INTELLIJ_SIGNING_PRIVATE_KEY_PASSWORD }}
PRODUCT_NAME: ${{ matrix.product }}
run: ./gradlew publishPlugin

- name: Upload Release Built Artifact
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release upload ${{ steps.properties.outputs.pluginVersionFull }} ./build/distributions/*
52 changes: 0 additions & 52 deletions .gitlab-ci.yml

This file was deleted.

1 change: 1 addition & 0 deletions zowe-galasa-intellij
Submodule zowe-galasa-intellij added at 6abd61

0 comments on commit f4e8f36

Please sign in to comment.