Skip to content

Commit 2179926

Browse files
authored
fix: Create changelog (#378)
fix create_changelog.sh
1 parent 354bc1e commit 2179926

File tree

2 files changed

+17
-34
lines changed

2 files changed

+17
-34
lines changed

.github/scripts/release/create_changelog.sh

+16-33
Original file line numberDiff line numberDiff line change
@@ -5,49 +5,32 @@ set -o errexit
55
set -E
66
set -o pipefail
77

8-
RELEASE_VERSION=$1
9-
PREVIOUS_RELEASE=$2
8+
CURRENT_RELEASE_TAG=$1
9+
DOCKER_IMAGE_URL=$2
10+
LAST_RELEASE_TAG=$3
1011

11-
12-
if [ "${PREVIOUS_RELEASE}" == "" ]
12+
if [ "${LAST_RELEASE_TAG}" == "" ]
1313
then
14-
PREVIOUS_RELEASE=$(git describe --tags --abbrev=0)
14+
LAST_RELEASE_TAG=$(git describe --tags --abbrev=0)
1515
fi
1616

17-
REPOSITORY=${REPOSITORY:-kyma-project/template-operator}
18-
GITHUB_URL=https://api.github.com/repos/${REPOSITORY}
19-
GITHUB_AUTH_HEADER="Authorization: token ${GITHUB_TOKEN}"
17+
GITHUB_URL=https://api.github.com/repos/$CODE_REPOSITORY
18+
GITHUB_AUTH_HEADER="Authorization: Bearer $GITHUB_TOKEN"
2019
CHANGELOG_FILE="CHANGELOG.md"
2120

22-
echo "## What has changed" >> ${CHANGELOG_FILE}
23-
git log "${PREVIOUS_RELEASE}"..HEAD --pretty=tformat:"%h" --reverse | while read -r commit
21+
git log "$LAST_RELEASE_TAG"..HEAD --pretty=tformat:"%h" --reverse | while read -r commit
2422
do
25-
COMMIT_AUTHOR=$(curl -H "${GITHUB_AUTH_HEADER}" -sS "${GITHUB_URL}/commits/${commit}" | jq -r '.author.login')
23+
COMMIT_AUTHOR=$(curl -H "$GITHUB_AUTH_HEADER" -sS "$GITHUB_URL"/commits/"$commit" | jq -r '.author.login')
2624
if [ "${COMMIT_AUTHOR}" != "kyma-bot" ]; then
2725
git show -s "${commit}" --format="* %s by @${COMMIT_AUTHOR}" >> ${CHANGELOG_FILE}
2826
fi
2927
done
3028

31-
NEW_CONTRIB=$$.new
32-
33-
join -v2 \
34-
<(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) \
35-
<(curl -H "${GITHUB_AUTH_HEADER}" -sS "${GITHUB_URL}/compare/${PREVIOUS_RELEASE}...HEAD" | jq -r '.commits[].author.login' | sort -u) >${NEW_CONTRIB}
36-
37-
if [ -s ${NEW_CONTRIB} ]
38-
then
39-
echo -e "\n## New contributors" >> ${CHANGELOG_FILE}
40-
while read -r user
41-
do
42-
REF_PR=$(grep "@${user}" ${CHANGELOG_FILE} | head -1 | grep -o " (#[0-9]\+)" || true)
43-
if [ -n "${REF_PR}" ]
44-
then
45-
REF_PR=" in ${REF_PR}"
46-
fi
47-
echo "* @${user} made first contribution${REF_PR}" >> ${CHANGELOG_FILE}
48-
done <${NEW_CONTRIB}
49-
fi
50-
51-
echo -e "\n**Full changelog**: https://github.com/$REPOSITORY/compare/${PREVIOUS_RELEASE}...${RELEASE_VERSION}" >> ${CHANGELOG_FILE}
29+
{
30+
echo -e "\n**Full changelog**: $GITHUB_URL/compare/$LAST_RELEASE_TAG...$CURRENT_RELEASE_TAG"
31+
echo -e "\n"
32+
echo "## Docker image URL"
33+
echo "$DOCKER_IMAGE_URL"
34+
} >> $CHANGELOG_FILE
5235

53-
rm ${NEW_CONTRIB} || echo "cleaned up"
36+
cat $CHANGELOG_FILE

.github/workflows/create-release.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
id: generate_changelog
4343
env:
4444
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45-
run: ./.github/scripts/release/create_changelog.sh ${{ github.event.inputs.name }} ${{ github.event.inputs.since }}
45+
run: ./.github/scripts/release/create_changelog.sh ${{ github.event.inputs.name }} ${{ env.IMAGE_REPO }}:${{ github.event.inputs.name }} ${{ github.event.inputs.since }}
4646
- name: Draft release
4747
id: draft-release
4848
env:

0 commit comments

Comments
 (0)