Release #75
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
workflow_call: | |
inputs: | |
tag: | |
description: 'Next release tag' | |
required: true | |
type: string | |
javawrapperversion: | |
description: 'Java Wrapper Version' | |
required: false | |
type: string | |
rchannels: | |
description: 'Channels to publish development releases' | |
required: false | |
type: string | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: 'Next release tag' | |
required: true | |
type: string | |
javawrapperversion: | |
description: 'Java Wrapper Version' | |
required: false | |
type: string | |
rchannels: | |
description: 'Channels to publish development releases' | |
required: false | |
type: string | |
env: | |
CX_BASE_URI: ${{ secrets.CX_BASE_URI }} | |
CX_APIKEY: ${{ secrets.CX_APIKEY }} | |
CX_TENANT: ${{ secrets.CX_TENANT }} | |
CX_TEST_REPO: ${{ secrets.CX_TEST_REPO }} | |
CX_TEST_SCAN: ${{ secrets.CX_TEST_SCAN }} | |
CX_TEST_BRANCH: ${{ secrets.CX_TEST_BRANCH }} | |
CX_TEST_PROJECT: ${{ secrets.CX_TEST_PROJECT }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CX_NOT_MATCH_TEST_PROJECT: ${{ secrets.CX_NOT_MATCH_TEST_PROJECT }} | |
CX_NOT_MATCH_TEST_BRANCH: ${{ secrets.CX_NOT_MATCH_TEST_BRANCH }} | |
CX_NOT_MATCH_TEST_SCAN_ID: ${{ secrets.CX_NOT_MATCH_TEST_SCAN_ID }} | |
jobs: | |
verify: | |
runs-on: ubuntu-latest | |
steps: | |
# Check out current repository | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
# Setup Java 11 environment for the next steps | |
- name: Setup Java | |
uses: actions/setup-java@v3.13.0 | |
with: | |
distribution: zulu | |
java-version: 11 | |
# Run verifier | |
- name: Run plugin verifier | |
run: ./gradlew runPluginVerifier | |
# Upload verifier report | |
- name: Upload report | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: verifier-report | |
path: build/reports/pluginVerifier | |
testIntegration: | |
needs: [ verify ] | |
runs-on: ubuntu-latest | |
steps: | |
# Check out current repository | |
- name: Fetch Sources | |
uses: actions/checkout@v4 | |
# Setup Java 11 environment for the next steps | |
- name: Setup Java | |
uses: actions/setup-java@v3.13.0 | |
with: | |
distribution: zulu | |
java-version: 11 | |
# Perform clean before testing | |
- name: Clean | |
run: ./gradlew clean | |
# Run tests | |
- name: Tests | |
run: ./gradlew test -i --tests com.checkmarx.intellij.standard* | |
# Save report if tests fail | |
- name: Save fails report | |
if: ${{ failure() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-fails-report-integration | |
path: | | |
build/reports | |
deleteDevReleases: | |
uses: Checkmarx/ast-jetbrains-plugin/.github/workflows/delete-dev-releases.yml@main | |
with: | |
tag: ${{ inputs.rchannels }} | |
secrets: inherit | |
if: inputs.rchannels | |
release: | |
runs-on: ubuntu-latest | |
steps: | |
# Check out current repository | |
- name: Fetch Sources | |
uses: actions/checkout@v4 | |
# Setup Java 11 environment for the next steps | |
- name: Setup Java | |
uses: actions/setup-java@v3.13.0 | |
with: | |
distribution: zulu | |
java-version: 11 | |
# Set the tag in an env var | |
- name: Set env | |
run: | | |
echo "RELEASE_VERSION=${{ inputs.tag }}" >> $GITHUB_ENV | |
echo "JAVA_WRAPPER_VERSION=${{ inputs.javawrapperversion }}" >> $GITHUB_ENV | |
- name: Create Release Name | |
run: | | |
echo "Creating release name" | |
if [ -z "${{ inputs.rchannels }}" ]; then | |
echo "GH_RELEASE_TAG_NAME=${{ env.RELEASE_VERSION }}" >> $GITHUB_ENV | |
else | |
echo "GH_RELEASE_TAG_NAME=${{ env.RELEASE_VERSION }}-${{ inputs.rchannels }}" >> $GITHUB_ENV | |
fi | |
echo "Release name - ${{ env.GH_RELEASE_TAG_NAME }}" | |
# Build plugin | |
- name: Build | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: ./gradlew buildPlugin --info | |
# Create the release or prerelease | |
- name: Create Release or Prerelease | |
uses: softprops/action-gh-release@v1 | |
with: | |
tag_name: ${{ env.GH_RELEASE_TAG_NAME }} | |
name: ${{ env.GH_RELEASE_TAG_NAME }} | |
files: build/distributions/* | |
generate_release_notes: true | |
prerelease: ${{ inputs.rchannels != '' && inputs.rchannels != null }} |