Skip to content

Commit

Permalink
Add changelog workflow
Browse files Browse the repository at this point in the history
  • Loading branch information
cartermckinnon committed Oct 13, 2023
1 parent fff4aaa commit 465d1dc
Showing 1 changed file with 24 additions and 25 deletions.
49 changes: 24 additions & 25 deletions .github/workflows/update-changelog.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: '[Release] Update CHANGELOG.md'
name: "[Release] Update CHANGELOG.md"
on:
release:
types: [released]
Expand All @@ -8,22 +8,22 @@ permissions:
jobs:
setup:
# this workflow will always fail in forks; bail if this isn't running in the upstream
#if: github.repository == 'awslabs/amazon-eks-ami'
if: github.repository == 'awslabs/amazon-eks-ami'
runs-on: ubuntu-latest
outputs:
tag_name: ${{ steps.variables.outputs.tag_name }}
steps:
- id: variables
run: |
echo "tag_name=$(echo ${{ github.ref }} | cut -d/ -f3)" >> $GITHUB_OUTPUT
- id: variables
run: |
echo "tag_name=$(echo ${{ github.ref }} | cut -d/ -f3)" >> $GITHUB_OUTPUT
update-changelog:
runs-on: ubuntu-latest
needs:
- setup
- setup
steps:
- uses: actions/checkout@v3
with:
repository: cartermckinnon/amazon-eks-ami
repository: awslabs/amazon-eks-ami
ref: refs/heads/master
path: amazon-eks-ami/
- uses: actions/github-script@v6
Expand All @@ -33,29 +33,28 @@ jobs:
const changelogPath = './amazon-eks-ami/CHANGELOG.md';
const placeholder = '<!--new-changelog-entry-placeholder-->';
const tagName = '${{ needs.setup.outputs.tag_name }}';
console.log(context.repo.owner);
console.log(context.repo.repo);
const release = await github.rest.repos.getReleaseByTag({
tag: tagName,
owner: context.repo.owner,
repo: context.repo.repo,
});
const newEntry = `### ${release.data.title}\n${release.data.body}`;
console.log(newEntry);
const changelog = fs.readFileSync(changelogPath);
const updatedChangelog = changelog.toString().replace(placeholder, placeholder + '\n\n' + newEntry);
const changelog = fs.readFileSync(changelogPath, 'utf8');
if (changelog.contains(release.data.name)) {
throw new Error(`changelog already contains ${release.data.name}`);
}
const newEntry = `### ${release.data.name}\n${release.data.body}`;
const updatedChangelog = changelog.replace(placeholder, placeholder + '\n\n' + newEntry);
fs.writeFileSync(changelogPath, updatedChangelog);
console.log(updatedChangelog);
- uses: peter-evans/create-pull-request@v4
with:
branch: update-changelog
path: amazon-eks-ami/
add-paths: CHANGELOG.md
commit-message: "Update CHANGELOG.md for release ${{ needs.setup.outputs.tag_name }}"
committer: "GitHub <noreply@github.com>"
author: "GitHub <noreply@github.com>"
title: "Update CHANGELOG.md"
labels: |
changelog/exclude
body: |
Adds CHANGELOG.md entry for release [${{ needs.setup.outputs.tag_name }}](https://github.com/awslabs/amazon-eks-ami/releases/tag/${{ needs.setup.outputs.tag_name }}).
branch: update-changelog
path: amazon-eks-ami/
add-paths: CHANGELOG.md
commit-message: "Update CHANGELOG.md for release ${{ needs.setup.outputs.tag_name }}"
committer: "GitHub <noreply@github.com>"
author: "GitHub <noreply@github.com>"
title: "Update CHANGELOG.md"
labels: |
changelog/exclude
body: |
Adds CHANGELOG.md entry for release [${{ needs.setup.outputs.tag_name }}](https://github.com/awslabs/amazon-eks-ami/releases/tag/${{ needs.setup.outputs.tag_name }}).

0 comments on commit 465d1dc

Please sign in to comment.