diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..1ea816c --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,20 @@ +changelog: + exclude: + labels: + - Skip-Release-Notes + categories: + - title: Bugfixes + labels: + - Bug-Fix + - title: New Features + labels: + - New Feature + - title: Enhancements + labels: + - Enhancement + - title: Not Yet Enabled + labels: + - Not-Yet-Enabled + - title: Other + labels: + - "*" diff --git a/.github/workflows/create-release-pr.yml b/.github/workflows/create-release-pr.yml index ad8e490..0b16f30 100644 --- a/.github/workflows/create-release-pr.yml +++ b/.github/workflows/create-release-pr.yml @@ -9,7 +9,7 @@ on: required: true type: string pre_release_version: - description: "Pre-Release version, e.g. 'beta.1'" + description: "Pre-Release version, e.g. 'beta.1', will be added behind the release_version as the tag." required: false type: string @@ -78,52 +78,25 @@ jobs: fi - name: Build Changelog - uses: mikepenz/release-changelog-builder-action@v3.7.2 id: build-changelog env: PREVIOUS_VERSION: ${{ steps.get-release.outputs.latest-tag }} - with: - fromTag: ${{ env.PREVIOUS_VERSION }} - toTag: ${{ env.RELEASE_BRANCH }} - failOnError: true - configurationJson: | - { - "categories": [ - { - "title": "## New Features", - "labels": [ - "New Feature" - ] - }, - { - "title": "## Enhancement", - "labels": [ - "Enhancement" - ] - }, - { - "title": "## Bug Fixes", - "labels": [ - "Bug-Fix" - ] - }, - { - "title": "## Not Yet Enabled", - "labels": [ - "Not-Yet-Enabled" - ] - } - ], - "ignore_labels": [ - "Skip-Release-Notes" - ], - "sort": { - "order": "ASC", - "on_property": "mergedAt" - }, - "template": "#{{CHANGELOG}}", - "pr_template": "- #{{TITLE}} by #{{AUTHOR}} in ##{{NUMBER}}" - } + run: | + CHANGELOG=$(curl -L \ + -X POST \ + -H "Accept: application/vnd.github+json" \ + -H "Authorization: Bearer ${{ github.token }}"\ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/${{ github.repository }}/releases/generate-notes \ + -d '{"tag_name":"${{ env.RELEASE_VERSION }}","target_commitish":"${{ env.RELEASE_BRANCH }}","previous_tag_name":"${{ env.PREVIOUS_VERSION }}","configuration_file_path":".github/release.yml"}' \ + | jq -r '.body') + + # The EOF steps are used to save multiline string in github: + # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#example-of-a-multiline-string + EOF=$(dd if=/dev/urandom bs=15 count=1 status=none | base64) + echo "changelog<<$EOF" >> $GITHUB_OUTPUT + echo -e "${CHANGELOG}" >> $GITHUB_OUTPUT + echo "$EOF" >> $GITHUB_OUTPUT - name: Update Changelog if: ${{ env.PRE_RELEASE_VERSION == '' }} @@ -131,8 +104,7 @@ jobs: CHANGELOG_CONTENT: ${{ steps.build-changelog.outputs.changelog }} PREVIOUS_VERSION: ${{ steps.get-release.outputs.latest-tag }} run: | - echo "$(tail -n +2 CHANGELOG.md)" > CHANGELOG.md - echo -e "# Changelog\n\n# ${RELEASE_VERSION}\n\n${CHANGELOG_CONTENT}**Full Changelog**: https://github.com/${{ github.repository }}/compare/${PREVIOUS_VERSION}...${RELEASE_VERSION}" | cat - CHANGELOG.md > temp && mv temp CHANGELOG.md + echo -e "# ${RELEASE_VERSION}\n\n${CHANGELOG_CONTENT}" | cat - CHANGELOG.md > temp && mv temp CHANGELOG.md - name: Commit Changes uses: EndBug/add-and-commit@v9.1.3 @@ -148,16 +120,21 @@ jobs: GH_TOKEN: ${{ github.token }} RELEASE_TAG: ${{ steps.set-release.outputs.release-tag }} run: | - echo -e "# ${RELEASE_TAG}\n\n${CHANGELOG_CONTENT}**Full Changelog**: https://github.com/${{ github.repository }}/compare/${PREVIOUS_VERSION}...${RELEASE_TAG}" > msg_body.txt - export msg_body=$(cat msg_body.txt) + # Note: There's an issue adding teams as reviewers, see https://github.com/cli/cli/issues/6395 PULL_REQUEST_URL=$(gh pr create --base "master" \ --title "FOR REVIEW ONLY: ${{ github.event.repository.name }} $RELEASE_TAG" \ --label "Skip-Release-Notes" \ - --body "$msg_body" | tail -n 1) - PULL_REQUEST_NUM=$(echo $PULL_REQUEST_URL | sed 's:.*/::') - echo "pull-request-master=$PULL_REQUEST_URL" >> $GITHUB_ENV - echo "pull-request-master-num=$PULL_REQUEST_NUM" >> $GITHUB_ENV - echo "Pull request to Master created: $PULL_REQUEST_URL" + --label "Team Hyper Flow" \ + --body "${CHANGELOG_CONTENT}" | tail -n 1) + if [[ $PULL_REQUEST_URL =~ ^https://github.com/${{ github.repository }}/pull/[0-9]+$ ]]; then + PULL_REQUEST_NUM=$(echo $PULL_REQUEST_URL | sed 's:.*/::') + echo "pull-request-master=$PULL_REQUEST_URL" >> $GITHUB_ENV + echo "pull-request-master-num=$PULL_REQUEST_NUM" >> $GITHUB_ENV + echo "Pull request to Master created: $PULL_REQUEST_URL" + else + echo "There was an issue creating the pull request to master branch." + exit 1 + fi - name: Create Pull Request to Develop if: ${{ env.PRE_RELEASE_VERSION == '' }} @@ -165,13 +142,20 @@ jobs: GH_TOKEN: ${{ github.token }} RELEASE_TAG: ${{ steps.set-release.outputs.release-tag }} run: | + # Note: There's an issue adding teams as reviewers, see https://github.com/cli/cli/issues/6395 PULL_REQUEST_URL=$(gh pr create --base "develop" \ --title "FOR REVIEW ONLY: Merge back ${{ github.event.repository.name }} $RELEASE_TAG to develop" \ --label "Skip-Release-Notes" \ + --label "Team Hyper Flow" \ --body "Merge back version changes to develop." | tail -n 1) - echo "Pull request to Develop created: $PULL_REQUEST_URL" - DEVELOP_PR_MESSAGE="\nPull Request to develop: $PULL_REQUEST_URL" - echo "pull-request-develop-message=$DEVELOP_PR_MESSAGE" >> $GITHUB_ENV + if [[ $PULL_REQUEST_URL =~ ^https://github.com/${{ github.repository }}/pull/[0-9]+$ ]]; then + echo "Pull request to Develop created: $PULL_REQUEST_URL" + DEVELOP_PR_MESSAGE="\nPull Request to develop: $PULL_REQUEST_URL" + echo "pull-request-develop-message=$DEVELOP_PR_MESSAGE" >> $GITHUB_ENV + else + echo "There was an issue creating the pull request to develop branch." + exit 1 + fi - name: Send Slack Message id: slack diff --git a/CHANGELOG.md b/CHANGELOG.md index f9a2ed8..15ecde4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +# v9.0.0 + + + +## What's Changed +### Enhancements +* Update CHANGELOG.md by @algobarb in https://github.com/algobarb/test/pull/38 +* Test: Update README.md by @algobarb in https://github.com/algobarb/test/pull/132 + + +**Full Changelog**: https://github.com/algobarb/test/compare/1.0.0...v9.0.0 # Changelog # v1.1.1 diff --git a/README.md b/README.md index bc13452..8ccafb2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,3 @@ test -123 -sdfsddssf -ffasfd -heeyy -more test