Skip to content

Commit

Permalink
rename the cr file in the workflow (#66)
Browse files Browse the repository at this point in the history
* rename the cr file in the workflow

* update comments

* add script to create a changelog

* dont bring your own script

* remove parameter

* revert romaval of comment

* remove get-version-from-branch.sh

* rename step
  • Loading branch information
friedrichwilken committed Feb 2, 2024
1 parent a9cc2c5 commit b3ca34f
Show file tree
Hide file tree
Showing 4 changed files with 64 additions and 60 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/create-draft-release-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@ jobs:
GH_TOKEN: ${{ secrets.GH_TOKEN }}
shell: bash
run: |
# Note: your repository needs to have this script.
# Running this script should result in a file named CHANGELOG.md, located in the base directory.
./hack/scripts/create_changelog.sh "${VERSION}"
# todo once the script was merged replace main with a commit sha:
# curl -sSL https://raw.githubusercontent.com/kyma-project/eventing-tools/<your-sha>/hack/scripts/create_changelog.sh | bash "${VERSION}"
curl -sL https://raw.githubusercontent.com/kyma-project/eventing-tools/main/hack/scripts/create_changelog.sh | bash "${VERSION}"
- name: Print out changelog
run: cat CHANGELOG.md
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/render-and-upload-manifests-reusable.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ jobs:
# Note: your repository needs to have this script.
run: ./hack/scripts/render_crd.sh "${VERSION}"

- name: Create Symlink for CR file
# `gh release upload <yourfile>` cannot rename files so we create a symlink with the desired name for the CR.
shell: bash
env:
CR_FILE: ${{ inputs.CR_FILE }}
run: |
ln -sf config/samples/default.yaml "./${CR_FILE}"
- name: Print out CR file
env:
CR_FILE: ${{ inputs.CR_FILE }}
Expand Down
53 changes: 53 additions & 0 deletions hack/scripts/create_changelog.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#!/usr/bin/env bash

# Error handling.
set -o nounset # treat unset variables as an error and exit immediately.
set -o errexit # exit immediately when a command fails.
set -E # needs to be set if we want the ERR trap
set -o pipefail # prevents errors in a pipeline from being masked

RELEASE_TAG=$1

REPOSITORY=${REPOSITORY:-kyma-project/eventing-manager}
GITHUB_URL=https://api.github.com/repos/${REPOSITORY}
GITHUB_AUTH_HEADER="Authorization: token ${GH_TOKEN}"
CHANGELOG_FILE="CHANGELOG.md"

# The git describe --tag --abbrev=0 command is used to find the most recent tag that is reachable from a commit.
# The --tag option tells git describe to consider any tag found in the refs/tags namespace, enabling matching a lightweight (non-annotated) tag.
PREVIOUS_RELEASE=$(git describe --tags --abbrev=0)

# Generate the changelog in the CHANGELOG.md.
echo "## What has changed" >>${CHANGELOG_FILE}

# Iterate over all commits since the previous release.
git log "${PREVIOUS_RELEASE}"..HEAD --pretty=tformat:"%h" --reverse | while read -r commit; do
# If the author of the commit is not kyma-bot, append the commit message to the changelog.
COMMIT_AUTHOR=$(curl -H "${GITHUB_AUTH_HEADER}" -sS "${GITHUB_URL}/commits/${commit}" | jq -r '.author.login')
if [ "${COMMIT_AUTHOR}" != "kyma-bot" ]; then
git show -s "${commit}" --format="* %s by @${COMMIT_AUTHOR}" >>${CHANGELOG_FILE}
fi
done

# Create a new contibutors file (with a unique name based on the process ID of the current shell).
NEW_CONTRIB=$$.authors

# Find unique authors who contributed since the last release, but not before it, and add them to the NEW_CONTRIB file.
join -v2 \
<(curl -H "${GITHUB_AUTH_HEADER}" -sS "${GITHUB_URL}/compare/$(git rev-list --max-parents=0 HEAD)...${PREVIOUS_RELEASE}" | jq -r '.commits[].author.login' | sort -u) \
<(curl -H "${GITHUB_AUTH_HEADER}" -sS "${GITHUB_URL}/compare/${PREVIOUS_RELEASE}...HEAD" | jq -r '.commits[].author.login' | sort -u) >${NEW_CONTRIB}

# Add new contributors to the 'new contributors' section of the changelog.
if [ -s ${NEW_CONTRIB} ]; then
echo -e "\n## New contributors" >>${CHANGELOG_FILE}
while read -r user; do
REF_PR=$(grep "@${user}" ${CHANGELOG_FILE} | head -1 | grep -o " (#[0-9]\+)" || true)
if [ -n "${REF_PR}" ]; then #reference found
REF_PR=" in ${REF_PR}"
fi
echo "* @${user} made first contribution${REF_PR}" >>${CHANGELOG_FILE}
done <${NEW_CONTRIB}
fi

# Append link to the full-changelog this changelog.
echo -e "\n**Full changelog**: https://github.com/$REPOSITORY/compare/${PREVIOUS_RELEASE}...${RELEASE_TAG}" >>${CHANGELOG_FILE}
57 changes: 0 additions & 57 deletions hack/scripts/get-version-from-branch.sh

This file was deleted.

0 comments on commit b3ca34f

Please sign in to comment.