[chore] update package tests with upstream changes #687
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This action requires that any PR targeting the main branch should touch at | |
# least one CHANGELOG file. If a CHANGELOG entry is not required, add the "Skip | |
# Changelog" label to disable this action. | |
name: 'Changelog' | |
on: | |
pull_request: | |
types: [opened, ready_for_review, synchronize, reopened, labeled, unlabeled] | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref }} | |
cancel-in-progress: true | |
jobs: | |
changelog: | |
runs-on: ubuntu-latest | |
if: >- | |
${{ | |
!contains(github.event.pull_request.labels.*.name, 'dependencies') && | |
!contains(github.event.pull_request.labels.*.name, 'Skip Changelog') && | |
!contains(github.event.pull_request.title, '[chore]') | |
}} | |
env: | |
PR_HEAD: ${{ github.event.pull_request.head.sha }} | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: ~1.22.6 | |
- name: Cache Go | |
id: go-cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/bin | |
~/go/pkg/mod | |
key: changelog-${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} | |
- name: Ensure no changes to the CHANGELOG.md | |
run: | | |
if [[ $(git diff --name-only $(git merge-base origin/main $PR_HEAD) $PR_HEAD ./CHANGELOG*.md) ]] | |
then | |
echo "CHANGELOG.md should not be directly modified." | |
echo "Please add a .yaml file to the ./.chloggen/ directory." | |
echo "See CONTRIBUTING.md for more details." | |
echo "Alternately, add either \"[chore]\" to the title of the pull \ request or add the \"Skip Changelog\" label if this job should be skipped." | |
false | |
else | |
echo "CHANGELOG.md was not modified." | |
fi | |
- name: Ensure ./.chloggen/*.yaml addition(s) | |
run: | | |
if [[ 1 -gt $(git diff --diff-filter=A --name-only $(git merge-base origin/main $PR_HEAD) $PR_HEAD ./.chloggen | grep -c \\.yaml) ]] | |
then | |
echo "No changelog entry was added to the ./.chloggen/ directory." | |
echo "Please add a .yaml file to the ./.chloggen/ directory." | |
echo "See CONTRIBUTING.md for more details." | |
echo "Alternately, add either \"[chore]\" to the title of the pull request or add the \"Skip Changelog\" label if this job should be skipped." | |
false | |
else | |
echo "A changelog entry was added to the ./.chloggen/ directory." | |
fi | |
- name: Validate ./.chloggen/*.yaml changes | |
run: | | |
make chlog-validate \ | |
|| { echo "New ./.chloggen/*.yaml file failed validation."; exit 1; } | |
# In order to validate any links in the yaml file, render the config to markdown | |
- name: Render .chloggen changelog entries | |
run: make chlog-preview > changelog_preview.md | |
- name: Install markdown-link-check | |
run: npm install -g markdown-link-check | |
- name: Run markdown-link-check | |
run: | | |
markdown-link-check \ | |
--verbose \ | |
--config .markdown_link_check_config.json \ | |
changelog_preview.md \ | |
|| { echo "Check that anchor links are lowercase"; exit 1; } |