2222 uses : actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
2323 with :
2424 fetch-depth : 0
25- token : ${{ secrets.GITHUB_TOKEN }}
25+ token : ${{ secrets.CHANGELOG_PAT || secrets. GITHUB_TOKEN }}
2626
2727 - name : Configure Git
2828 run : |
@@ -40,34 +40,28 @@ jobs:
4040 sudo wget -qO /usr/local/bin/yq https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64
4141 sudo chmod +x /usr/local/bin/yq
4242
43- - name : Setup Helm
44- uses : Azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # v4.3.1
45-
46- # Python is required because `ct` uses Python-based tools
47- - name : Set up Python
48- uses : actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5.5.0
49- with :
50- python-version : 3.x
51-
52- - name : Set up chart-testing-action
53- uses : helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # v2.7.0
54-
5543 - name : Get changed charts from last commit
5644 id : list-changed
5745 run : |
5846 # Get the commit SHA before the merge
5947 BEFORE_SHA="${{ github.event.before }}"
6048
61- # Use chart-testing to find changed charts
62- changed=$(ct list-changed --target-branch main --since "${BEFORE_SHA}")
63-
64- if [[ -n "$changed" ]]; then
65- echo "Changed charts:"
66- echo "$changed"
67- echo "changed=true" >> $GITHUB_OUTPUT
68- echo 'changedCharts<<EOF' >> $GITHUB_OUTPUT
69- echo $changed >> $GITHUB_OUTPUT
70- echo 'EOF' >> $GITHUB_OUTPUT
49+ # Find changed charts directories using git diff
50+ changed_files=$(git diff --name-only "${BEFORE_SHA}" HEAD -- 'charts/**')
51+
52+ if [[ -n "$changed_files" ]]; then
53+ # Extract unique chart directories
54+ changed_charts=$(echo "$changed_files" | grep '^charts/' | cut -d/ -f1-2 | sort -u | tr '\n' ' ')
55+
56+ if [[ -n "$changed_charts" ]]; then
57+ echo "Changed charts:"
58+ echo "$changed_charts"
59+ echo "changed=true" >> $GITHUB_OUTPUT
60+ echo "changedCharts=${changed_charts}" >> $GITHUB_OUTPUT
61+ else
62+ echo "No chart changes detected"
63+ echo "changed=false" >> $GITHUB_OUTPUT
64+ fi
7165 else
7266 echo "No chart changes detected"
7367 echo "changed=false" >> $GITHUB_OUTPUT
7670 - name : Get PR information
7771 id : pr-info
7872 if : steps.list-changed.outputs.changed == 'true'
79- uses : actions/github-script@f28e40c7f34bde8b3046d885e986cb6290c5673b # v7.1 .0
73+ uses : actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0 .0
8074 with :
8175 github-token : ${{ secrets.GITHUB_TOKEN }}
8276 script : |
@@ -158,4 +152,9 @@ jobs:
158152 git add charts/*/CHANGELOG.md
159153 git commit -m "chore: update CHANGELOG.md for merged changes" \
160154 -m "Signed-off-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>"
155+
156+ # Pull latest changes and rebase our commit on top
157+ git pull --rebase origin main
158+
159+ # Push the changes
161160 git push origin main
0 commit comments