diff --git a/.github/workflows/issue_automation.yml b/.github/workflows/issue_automation.yml index 232fcd7..38b6f80 100644 --- a/.github/workflows/issue_automation.yml +++ b/.github/workflows/issue_automation.yml @@ -7,7 +7,7 @@ on: jobs: issue: name: Notify Jira - uses: CheckmarxDev/ast-cli/.github/workflows/jira_notify.yml@main + uses: Checkmarx/ast-cli/.github/workflows/jira_notify.yml@main with: title: ${{ github.event.issue.title }} body: ${{ github.event.issue.body }} diff --git a/.github/workflows/manual-tag.yml b/.github/workflows/manual-tag.yml deleted file mode 100644 index b798517..0000000 --- a/.github/workflows/manual-tag.yml +++ /dev/null @@ -1,27 +0,0 @@ -name: Manual Tag Creation - -on: - workflow_dispatch: - inputs: - tag: - description: 'Next release tag' - required: true - -jobs: - tag-creation: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v4.1.0 - with: - token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} - - name: Tag - run: | - echo ${{ github.event.inputs.tag }} - echo "NEXT_VERSION=${{ github.event.inputs.tag }}" >> $GITHUB_ENV - tag=${{ github.event.inputs.tag }} - message='${{ github.event.inputs.tag }}: PR #${{ github.event.pull_request.number }} ${{ github.event.pull_request.title }}' - git config user.name "${GITHUB_ACTOR}" - git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" - git tag -a "${tag}" -m "${message}" - git push origin "${tag}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 92ced8b..d8d9a6a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,48 +2,60 @@ name: Publish Checkmarx One CLI GitHub Action on: - push: - tags: - - '*' + workflow_call: + inputs: + tag: + description: 'Next release tag' + required: true jobs: release: runs-on: ubuntu-latest + outputs: + CLI_VERSION: ${{ steps.extract_cli_version.outputs.CLI_VERSION }} + steps: - - uses: actions/checkout@v4.1.0 + - name: Checkout + uses: actions/checkout@v4.1.0 + with: + token: ${{ secrets.PERSONAL_ACCESS_TOKEN }} + + - name: Extract CLI version from Dockerfile + id: extract_cli_version + run: | + IMAGE_LINE=$(grep -m 1 '^FROM' Dockerfile) + CLI_VERSION=$(echo "$IMAGE_LINE" | awk -F':' '{print $2}') + + echo "Extracted CLI version: $CLI_VERSION" + + echo "CLI_VERSION=$CLI_VERSION" >> $GITHUB_ENV + echo "::set-output name=CLI_VERSION::$CLI_VERSION" + + - name: Tag + run: | + echo ${{ github.event.inputs.tag }} + echo "NEXT_VERSION=${{ github.event.inputs.tag }}" >> $GITHUB_ENV + tag=${{ github.event.inputs.tag }} + message='${{ github.event.inputs.tag }}: PR #${{ github.event.pull_request.number }} ${{ github.event.pull_request.title }}' + git config user.name "${GITHUB_ACTOR}" + git config user.email "${GITHUB_ACTOR}@users.noreply.github.com" + git tag -a "${tag}" -m "${message}" + git push origin "${tag}" + - name: Create Release uses: softprops/action-gh-release@de2c0eb89ae2a093876385947365aca7b0e5f844 #v1 with: - tag_name: ${{ github.ref_name }} + tag_name: ${{ github.event.inputs.tag }} generate_release_notes: true notify: - runs-on: ubuntu-latest - needs: release - steps: - - name: Get latest relase notes - id: release - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - body_release="$(gh api -H "Accept: application/vnd.github.v3+json" /repos/Checkmarx/ast-github-action/releases/latest | jq -r '.body' )" - body_release="${body_release//$'\n'/'%0A'}" - echo "::set-output name=body_release::$body_release" - - name: Converts Markdown to HTML - id: convert - uses: lifepal/markdown-to-html@253bbd85fbdeafe2d1f18c1b9289be24e5cf8f8f #v1.2 - with: - text: "${{ steps.release.outputs.body_release }}" - - - name: Clean html - id: clean - run: | - clean="$(echo "${{ steps.convert.outputs.html }}" | awk '{gsub(/id=.[a-z]+/,"");print}' | tr -d '\n')" - echo "$clean" - echo "::set-output name=clean::$clean" - - name: Send a Notification - id: notify - uses: thechetantalwar/teams-notify@8a78811f5e8f58cdd204efebd79158006428c46b #v2 - with: - teams_webhook_url: ${{ secrets.TEAMS_WEBHOOK_URI }} - message: "