Skip to content

Commit 3d5e1f2

Browse files
Merge branch 'master' into dependabot/github_actions/anthropics/claude-code-action-1.0.82
2 parents 899f579 + d806043 commit 3d5e1f2

15 files changed

Lines changed: 118 additions & 133 deletions

.github/workflows/docker-scanner.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
uses: actions/checkout@v6
3333

3434
- name: 🛠️ Set up QEMU
35-
uses: docker/setup-qemu-action@v3
35+
uses: docker/setup-qemu-action@v4
3636

3737
- name: 🛠️ Set up Docker Buildx
3838
uses: docker/setup-buildx-action@v4.0.0

.github/workflows/helm-deploy.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ jobs:
130130

131131
- name: ☁️ Install Azure CLI
132132
if: ${{ inputs.provider == 'azure' }}
133-
uses: azure/login@v2
133+
uses: azure/login@v3
134134
with:
135135
creds: ${{ secrets.AZURE_CREDENTIALS }}
136136

.github/workflows/release-changelog.yml

Lines changed: 43 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,19 +7,23 @@ on:
77
branch:
88
required: true
99
type: string
10+
description: "Branch to update CHANGELOG from"
1011
tag_format:
1112
required: true
1213
type: string
13-
description: "Repository tag format (e.g., vX.Y.Z or X.Y.Z) - defines how tags should look"
14+
description: "Repository tag format (e.g., vX.Y.Z or X.Y.Z)"
1415
release_tag:
1516
required: true
1617
type: string
17-
description: "Actual release tag to validate"
18-
19-
outputs:
20-
valid:
21-
description: "Is release tag valid for this repository"
22-
value: ${{ jobs.tag-validation.outputs.valid }}
18+
description: "Actual release tag to validate and use"
19+
version_type:
20+
required: true
21+
type: string
22+
description: "Type of release (major/minor/patch)"
23+
latest_tag:
24+
required: true
25+
type: string
26+
description: "Previous tag for comparison"
2327

2428
secrets:
2529
GITHUB:
@@ -54,7 +58,7 @@ jobs:
5458
else
5559
echo "valid=false" >> $GITHUB_OUTPUT
5660
echo "❌ Repository uses v-prefixed tags (vX.Y.Z) but release tag is: $RELEASE_TAG"
57-
echo "⏭️ Skipping changelog generation"
61+
exit 1
5862
fi
5963
else
6064
# Repository uses plain format (X.Y.Z)
@@ -65,7 +69,7 @@ jobs:
6569
else
6670
echo "valid=false" >> $GITHUB_OUTPUT
6771
echo "❌ Repository uses plain tags (X.Y.Z) but release tag is: $RELEASE_TAG"
68-
echo "⏭️ Skipping changelog generation"
72+
exit 1
6973
fi
7074
fi
7175
@@ -79,34 +83,51 @@ jobs:
7983
uses: actions/checkout@v6
8084
with:
8185
token: ${{ secrets.GITHUB }}
86+
ref: ${{ inputs.release_tag }}
8287

83-
- name: 📝 Update CHANGELOG
88+
- name: 📝 Generate Changelog
8489
id: changelog
8590
uses: requarks/changelog-action@v1
8691
with:
8792
token: ${{ secrets.GITHUB }}
88-
excludeTypes: ""
93+
tag: ${{ inputs.release_tag }}
8994
includeInvalidCommits: false
90-
tag: ${{ inputs.tag != '' && inputs.tag || github.ref_name }}
95+
writeToFile: true
96+
changelogFilePath: CHANGELOG.md
97+
includeRefIssues: true
98+
useGitmojis: true
99+
reverseOrder: false
91100

92101
- name: 🚀 Create Release
93102
uses: ncipollo/release-action@v1.16.0
94103
with:
104+
token: ${{ secrets.GITHUB }}
105+
tag: ${{ inputs.release_tag }}
106+
name: ${{ inputs.release_tag }}
95107
allowUpdates: true
96108
draft: false
97109
makeLatest: true
98-
name: ${{ inputs.tag != '' && inputs.tag || github.ref_name }}
99-
tag: ${{ inputs.tag != '' && inputs.tag || github.ref_name }}
100-
body: ${{ steps.changelog.outputs.changes }}
101-
token: ${{ secrets.GITHUB }}
110+
body: |
111+
${{ steps.changelog.outputs.changes }}
112+
113+
**Release Type:** ${{ inputs.version_type }}
114+
115+
${{ inputs.version_type == 'major' && '⚠️ **BREAKING CHANGES:** This is a major release with breaking changes. Please review the breaking changes section in [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/${{ inputs.release_tag }}/CHANGELOG.md) before upgrading.' || '' }}
102116
103-
- name: ✅ Commit CHANGELOG.md
117+
[Compare changes](https://github.com/${{ github.repository }}/compare/${{ inputs.latest_tag }}...${{ inputs.release_tag }})
118+
119+
- name: 💾 Commit CHANGELOG.md
104120
uses: stefanzweifel/git-auto-commit-action@v7
105121
with:
106122
branch: ${{ inputs.branch }}
107-
commit_user_name: clouddrove-ci # defaults to "github-actions[bot]"
108-
commit_user_email: 84795582+clouddrove-ci@users.noreply.github.com # defaults to "41898282+github-actions[bot]@users.noreply.github.com"
109-
commit_author: CloudDrove CI <84795582+clouddrove-ci@users.noreply.github.com>
110-
commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }}'
123+
commit_user_name: clouddrove-ci
124+
commit_user_email: 84795582+clouddrove-ci@users.noreply.github.com
125+
commit_author: "CloudDrove CI <84795582+clouddrove-ci@users.noreply.github.com>"
126+
commit_message: 'docs: update CHANGELOG.md for ${{ inputs.release_tag }}'
111127
file_pattern: CHANGELOG.md
112-
...
128+
129+
- name: 📋 Release Summary
130+
run: |
131+
echo "✅ Release ${{ inputs.release_tag }} created successfully."
132+
echo "🏷️ Version type: ${{ inputs.version_type }}"
133+
echo "📝 Changelog has been updated and committed."

.github/workflows/release-tag.yml

Lines changed: 50 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,32 @@ on:
88
required: true
99
type: string
1010
default: master
11+
tag_format:
12+
required: false
13+
type: string
14+
default: "vX.Y.Z"
15+
description: "Repository tag format (e.g., vX.Y.Z or X.Y.Z)"
16+
create_changelog:
17+
required: false
18+
type: boolean
19+
default: true
20+
description: "Whether to create changelog and release (default: true)"
1121
secrets:
1222
GITHUB:
1323
required: true
1424
description: 'PAT of the user to run the jobs.'
1525

1626
jobs:
17-
release:
27+
# Job 1: Create Tag
28+
create-tag:
1829
runs-on: ubuntu-latest
1930
if: ${{ github.event.pull_request.merged == true && github.event.pull_request.base.ref == inputs.target_branch }}
31+
outputs:
32+
skip: ${{ steps.skip_tag.outputs.skip }}
33+
reason: ${{ steps.skip_tag.outputs.reason }}
34+
final_tag: ${{ steps.calc_version.outputs.final_tag }}
35+
version_type: ${{ steps.calc_version.outputs.version_type }}
36+
latest_tag: ${{ steps.get_latest_tag.outputs.latest_tag }}
2037

2138
steps:
2239
- name: 📦 Checkout Repository
@@ -66,7 +83,9 @@ jobs:
6683
if: steps.skip_tag.outputs.skip == 'false'
6784
run: |
6885
BASE_VERSION="${{ steps.get_latest_tag.outputs.latest_tag }}"
69-
IFS='.' read -r MAJOR MINOR PATCH <<< "$BASE_VERSION"
86+
# Remove v prefix if present for version calculation
87+
CLEAN_BASE_VERSION="${BASE_VERSION#v}"
88+
IFS='.' read -r MAJOR MINOR PATCH <<< "$CLEAN_BASE_VERSION"
7089
LABELS="${{ steps.pr_labels.outputs.labels }}"
7190
7291
if [[ "$LABELS" == *"major"* ]]; then
@@ -81,66 +100,44 @@ jobs:
81100
fi
82101
83102
NEW_VERSION="$MAJOR.$MINOR.$PATCH"
84-
echo "new_version=$NEW_VERSION" >> $GITHUB_OUTPUT
103+
104+
# Apply tag format (add v prefix if needed)
105+
TAG_FORMAT="${{ inputs.tag_format }}"
106+
if [[ "$TAG_FORMAT" == v* ]]; then
107+
FINAL_TAG="v$NEW_VERSION"
108+
else
109+
FINAL_TAG="$NEW_VERSION"
110+
fi
111+
112+
echo "final_tag=$FINAL_TAG" >> $GITHUB_OUTPUT
85113
86114
- name: 🏷️ Create GitHub tag for the new version
87115
if: steps.skip_tag.outputs.skip == 'false'
88116
run: |
89117
git config user.name "clouddrove-ci"
90118
git config user.email "84795582+clouddrove-ci@users.noreply.github.com"
91-
git tag ${{ steps.calc_version.outputs.new_version }}
92-
git push origin ${{ steps.calc_version.outputs.new_version }}
93-
94-
- name: 📝 Generate Changelog
95-
if: steps.skip_tag.outputs.skip == 'false'
96-
id: changelog
97-
uses: requarks/changelog-action@v1
98-
with:
99-
token: ${{ secrets.GITHUB }}
100-
tag: ${{ steps.calc_version.outputs.new_version }}
101-
includeInvalidCommits: false
102-
writeToFile: true
103-
changelogFilePath: CHANGELOG.md
104-
includeRefIssues: true
105-
useGitmojis: true
106-
reverseOrder: false
119+
git tag ${{ steps.calc_version.outputs.final_tag }}
120+
git push origin ${{ steps.calc_version.outputs.final_tag }}
107121
108-
- name: 🚀 Create Release
109-
if: steps.skip_tag.outputs.skip == 'false'
110-
uses: ncipollo/release-action@v1
111-
with:
112-
token: ${{ secrets.GITHUB }}
113-
tag: ${{ steps.calc_version.outputs.new_version }}
114-
name: ${{ steps.calc_version.outputs.new_version }}
115-
allowUpdates: true
116-
draft: false
117-
makeLatest: true
118-
body: |
119-
${{ steps.changelog.outputs.changes }}
120-
121-
**Release Type:** ${{ steps.calc_version.outputs.version_type }}
122-
123-
${{ steps.calc_version.outputs.version_type == 'major' && '⚠️ **BREAKING CHANGES:** This is a major release with breaking changes. Please review the breaking changes section in [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/${{ steps.calc_version.outputs.new_version }}/CHANGELOG.md) before upgrading.' || '' }}
124-
125-
[Compare changes](https://github.com/${{ github.repository }}/compare/${{ steps.get_latest_tag.outputs.latest_tag }}...${{ steps.calc_version.outputs.new_version }})
126-
127-
- name: 💾 Commit CHANGELOG.md
128-
if: steps.skip_tag.outputs.skip == 'false'
129-
uses: stefanzweifel/git-auto-commit-action@v7
130-
with:
131-
branch: ${{ inputs.target_branch }}
132-
commit_user_name: clouddrove-ci
133-
commit_user_email: 84795582+clouddrove-ci@users.noreply.github.com
134-
commit_author: "CloudDrove CI <84795582+clouddrove-ci@users.noreply.github.com>"
135-
commit_message: 'docs: update CHANGELOG.md for ${{ steps.calc_version.outputs.new_version }}'
136-
file_pattern: CHANGELOG.md
137-
138-
- name: 📋 Action Summary
122+
- name: 📋 Tag Creation Summary
139123
run: |
140124
if [[ "${{ steps.skip_tag.outputs.skip }}" == "true" ]]; then
141-
echo "🚫 Release skipped: ${{ steps.skip_tag.outputs.reason }}"
125+
echo "🚫 Tag creation skipped: ${{ steps.skip_tag.outputs.reason }}"
142126
else
143-
echo "✅ Released ${{ steps.calc_version.outputs.new_version }} successfully."
127+
echo "✅ Tag ${{ steps.calc_version.outputs.final_tag }} created successfully."
144128
echo "🏷️ Version type: ${{ steps.calc_version.outputs.version_type }}"
145129
fi
146-
...
130+
131+
# Job 2: Call CHANGELOG workflow for release creation
132+
changelog-workflow:
133+
needs: create-tag
134+
if: ${{ needs.create-tag.outputs.skip == 'false' && inputs.create_changelog == true }}
135+
uses: ./.github/workflows/release-changelog.yml
136+
with:
137+
branch: ${{ inputs.target_branch }}
138+
tag_format: ${{ inputs.tag_format }}
139+
release_tag: ${{ needs.create-tag.outputs.final_tag }}
140+
version_type: ${{ needs.create-tag.outputs.version_type }}
141+
latest_tag: ${{ needs.create-tag.outputs.latest_tag }}
142+
secrets:
143+
GITHUB: ${{ secrets.GITHUB }}

.github/workflows/security-powerpipe.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ jobs:
115115
if: ${{ inputs.cloud_provider == 'GCP' }}
116116

117117
- name: 🔷 Authenticate to Azure Cloud
118-
uses: azure/login@v2
118+
uses: azure/login@v3
119119
with:
120120
client-id: ${{ secrets.AZURE_CLIENT_ID }}
121121
tenant-id: ${{ secrets.AZURE_TENANT_ID }}

.github/workflows/stf-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ jobs:
132132

133133
- name: ☁️ Install Azure CLI
134134
if: ${{ inputs.provider == 'azurerm' }}
135-
uses: azure/login@v2
135+
uses: azure/login@v3
136136
with:
137137
creds: ${{ secrets.AZURE_CREDENTIALS }}
138138

.github/workflows/tf-checks.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ jobs:
159159

160160
- name: ☁️ Install Azure CLI
161161
if: ${{ inputs.provider == 'azurerm' && inputs.enable_plan }}
162-
uses: azure/login@v2
162+
uses: azure/login@v3
163163
with:
164164
creds: ${{ secrets.AZURE_CREDENTIALS }}
165165

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ jobs:
105105

106106
- name: 🔐 Install Azure CLI
107107
if: ${{ inputs.provider == 'azurerm' }}
108-
uses: azure/login@v2
108+
uses: azure/login@v3
109109
with:
110110
creds: ${{ secrets.AZURE_CREDENTIALS }}
111111

.github/workflows/tf-drift.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ jobs:
132132
# Install azure-cli
133133
- name: 🔧 Install Azure CLI
134134
if: ${{ inputs.provider == 'azurerm' }}
135-
uses: azure/login@v2
135+
uses: azure/login@v3
136136
with:
137137
creds: ${{ secrets.AZURE_CREDENTIALS }}
138138

.github/workflows/tf-smurf.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ jobs:
155155

156156
- name: ☁️ Install Azure CLI
157157
if: ${{ inputs.provider == 'azurerm' }}
158-
uses: azure/login@v2
158+
uses: azure/login@v3
159159
with:
160160
creds: ${{ secrets.AZURE_CREDENTIALS }}
161161

0 commit comments

Comments
 (0)