Skip to content

Commit 5889079

Browse files
authored
Merge branch 'main' into renovate/aws-actions-configure-aws-credentials-6.x
2 parents 3806bf0 + b1cbbd7 commit 5889079

45 files changed

Lines changed: 3329 additions & 2132 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build_docker_image_and_push_to_ecr.yaml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,13 @@ jobs:
109109
steps:
110110
- name: Send notification to slack
111111
if: inputs.slackChannelId != ''
112-
uses: slackapi/slack-github-action@v1.26.0
113-
env:
114-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
112+
uses: slackapi/slack-github-action@v3.0.1
115113
with:
116-
channel-id: ${{ inputs.slackChannelId }}
114+
method: chat.postMessage
115+
token: ${{ secrets.slackToken }}
117116
payload: |
118117
{
118+
"channel": "${{ inputs.slackChannelId }}",
119119
"text": ":large_blue_circle: *${{ github.repository }} build started*",
120120
"attachments": [
121121
{
@@ -171,7 +171,7 @@ jobs:
171171
# uses: docker/setup-qemu-action@v2
172172

173173
- name: setup Docker Buildx
174-
uses: docker/setup-buildx-action@v3
174+
uses: docker/setup-buildx-action@v4
175175

176176
# First assume GithubOIDCRole role, the trust relationship between GitHub and AWS is defined in IAM GithubOIDCRole in the organization account. This role has permissions to assume Deployer roles only.
177177
- name: assume GithubOIDCRole
@@ -204,15 +204,15 @@ jobs:
204204

205205
- name: login to AWS ECR
206206
if: inputs.useOIDC == false
207-
uses: docker/login-action@v3
207+
uses: docker/login-action@v4
208208
with:
209209
registry: ${{ inputs.registry }}
210210
username: ${{ secrets.AWS_ACCESS_KEY_ID }}
211211
password: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
212212

213213
- name: build and push
214214
id: build_and_push
215-
uses: docker/build-push-action@v5
215+
uses: docker/build-push-action@v7
216216
with:
217217
context: ${{ inputs.dockerContext }}
218218
file: ${{ inputs.dockerFilePath }}
@@ -238,13 +238,13 @@ jobs:
238238
239239
- name: send result to slack
240240
if: always() && inputs.slackChannelId != ''
241-
uses: slackapi/slack-github-action@v1.26.0
242-
env:
243-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
241+
uses: slackapi/slack-github-action@v3.0.1
244242
with:
245-
channel-id: ${{ inputs.slackChannelId }}
243+
method: chat.postMessage
244+
token: ${{ secrets.slackToken }}
246245
payload: |
247246
{
247+
"channel": "${{ inputs.slackChannelId }}",
248248
"text": ":${{ steps.helper.outputs.emoji }}: *${{ github.repository }} build result: ${{ job.status }}*",
249249
"attachments": [
250250
{

.github/workflows/check-execute-workflow-dist.yaml

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
- main
77
paths:
88
- 'execute-workflow/**'
9+
- '.github/workflows/check-execute-workflow-dist.yaml'
910

1011
permissions:
1112
contents: write
@@ -23,22 +24,17 @@ jobs:
2324
- name: Setup Node.js
2425
uses: actions/setup-node@v6
2526
with:
26-
node-version: '24'
27-
cache: 'npm'
28-
cache-dependency-path: execute-workflow/package-lock.json
27+
node-version-file: '.nvmrc'
2928

3029
- name: Install dependencies
31-
working-directory: execute-workflow
32-
run: npm ci
30+
uses: ./pnpm-install
3331

3432
- name: Rebuild dist
35-
working-directory: execute-workflow
36-
run: npm run build
33+
run: pnpm --filter execute-workflow build
3734

3835
- name: Commit and push if changed
39-
uses: EndBug/add-and-commit@v9
36+
uses: apify/actions/signed-commit@v1.0.0
4037
with:
41-
author_name: github-actions[bot]
42-
author_email: 41898282+github-actions[bot]@users.noreply.github.com
4338
message: "chore: rebuild execute-workflow dist [skip ci]"
4439
add: 'execute-workflow/dist/'
40+
github-token: ${{ secrets.APIFY_SERVICE_ACCOUNT_GITHUB_TOKEN }}

.github/workflows/claude-md-maintenance.yml

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ jobs:
2323
fetch-depth: 0
2424

2525
- name: Set up Node.js
26-
uses: actions/setup-node@v4
26+
uses: actions/setup-node@v6
2727
with:
28-
node-version: "20"
28+
node-version: "24"
2929

3030
- name: Install Claude Code CLI
3131
run: npm install -g @anthropic-ai/claude-code
@@ -97,24 +97,32 @@ jobs:
9797
echo "changed=false" >> "$GITHUB_OUTPUT"
9898
fi
9999
100+
- name: Prepare branch name
101+
if: steps.diff.outputs.changed == 'true'
102+
id: branch
103+
run: echo "name=chore/update-claude-md-$(date +%Y%m%d%H%M%S)" >> "$GITHUB_OUTPUT"
104+
105+
- name: Commit CLAUDE.md
106+
if: steps.diff.outputs.changed == 'true'
107+
uses: apify/actions/signed-commit@v1.0.0
108+
with:
109+
message: "docs: update CLAUDE.md [skip ci]"
110+
add: CLAUDE.md
111+
github-token: ${{ github.token }}
112+
branch: ${{ steps.branch.outputs.name }}
113+
create-branch: 'true'
114+
100115
- name: Create PR with updated CLAUDE.md
101116
if: steps.diff.outputs.changed == 'true'
102117
id: create-pr
103118
env:
104119
GH_TOKEN: ${{ github.token }}
105120
run: |
106-
git config user.name "github-actions[bot]"
107-
git config user.email "github-actions[bot]@users.noreply.github.com"
108-
BRANCH="chore/update-claude-md-$(date +%Y%m%d%H%M%S)"
109-
git checkout -b "$BRANCH"
110-
git add CLAUDE.md
111-
git commit -m "docs: update CLAUDE.md [skip ci]"
112-
git push origin "$BRANCH"
113121
PR_URL=$(gh pr create \
114122
--title "docs: update CLAUDE.md" \
115123
--body "Automated update of CLAUDE.md generated by the Claude MD Maintenance workflow." \
116124
--base "${{ github.ref_name }}" \
117-
--head "$BRANCH")
125+
--head "${{ steps.branch.outputs.name }}")
118126
echo "pr_url=$PR_URL" >> "$GITHUB_OUTPUT"
119127
120128
- name: Assign PR and request review

.github/workflows/create_changelog.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
steps:
6363
- name: get changelog
6464
id: changelog
65-
uses: apify/release-pr-action@v3.5.1
65+
uses: apify/release-pr-action@v3.5.3
6666
with:
6767
slack-token: ${{ secrets.slackToken }}
6868
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -77,13 +77,13 @@ jobs:
7777

7878
- name: report failure to slack
7979
if: failure() && inputs.slackChannelIdForFailureMsg != ''
80-
uses: slackapi/slack-github-action@v1.26.0
81-
env:
82-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
80+
uses: slackapi/slack-github-action@v3.0.1
8381
with:
84-
channel-id: ${{ inputs.slackChannelIdForFailureMsg }}
82+
method: chat.postMessage
83+
token: ${{ secrets.slackToken }}
8584
payload: |
8685
{
86+
"channel": "${{ inputs.slackChannelIdForFailureMsg }}",
8787
"text": ":red_circle: *${{ github.repository }} automated release action: ${{ job.status }}*",
8888
"attachments": [
8989
{

.github/workflows/deploy_cloudformation.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,13 @@ jobs:
100100
steps:
101101
- name: send notification to slack
102102
if: inputs.slackChannelId != ''
103-
uses: slackapi/slack-github-action@v1.26.0
104-
env:
105-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
103+
uses: slackapi/slack-github-action@v3.0.1
106104
with:
107-
channel-id: ${{ inputs.slackChannelId }}
105+
method: chat.postMessage
106+
token: ${{ secrets.slackToken }}
108107
payload: |
109108
{
109+
"channel": "${{ inputs.slackChannelId }}",
110110
"text": ":large_blue_circle: *${{ github.repository }} deploy of cloudformation stack ${{ inputs.stackName }} started*",
111111
"attachments": [
112112
{
@@ -257,13 +257,13 @@ jobs:
257257
258258
- name: send result to slack
259259
if: always() && inputs.slackChannelId != ''
260-
uses: slackapi/slack-github-action@v1.26.0
261-
env:
262-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
260+
uses: slackapi/slack-github-action@v3.0.1
263261
with:
264-
channel-id: ${{ inputs.slackChannelId }}
262+
method: chat.postMessage
263+
token: ${{ secrets.slackToken }}
265264
payload: |
266265
{
266+
"channel": "${{ inputs.slackChannelId }}",
267267
"text": ":${{ steps.helper.outputs.emoji }}: *${{ github.repository }} deploy of cloudformation stack ${{ inputs.stackName }} result: ${{ job.status }}*",
268268
"attachments": [
269269
{

.github/workflows/deploy_helmfile.yaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,13 @@ jobs:
122122

123123
- name: Send notification to slack
124124
if: inputs.slackChannelId != ''
125-
uses: slackapi/slack-github-action@v1.26.0
126-
env:
127-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
125+
uses: slackapi/slack-github-action@v3.0.1
128126
with:
129-
channel-id: ${{ inputs.slackChannelId }}
127+
method: chat.postMessage
128+
token: ${{ secrets.slackToken }}
130129
payload: |
131130
{
131+
"channel": "${{ inputs.slackChannelId }}",
132132
"text": ":large_blue_circle: *${{ github.repository }} deploy of helmfile started*",
133133
"attachments": [
134134
{
@@ -237,7 +237,7 @@ jobs:
237237
run: aws eks update-kubeconfig --name ${{ inputs.eksClusterName }} $OPTIONAL_PARAMS
238238

239239
- name: Tailscale VPN
240-
uses: tailscale/github-action@v2
240+
uses: tailscale/github-action@v4
241241
if: inputs.enableVpn == 'true'
242242
with:
243243
oauth-client-id: ${{ secrets.TS_OAUTH_CLIENT_ID }}
@@ -289,13 +289,13 @@ jobs:
289289
290290
- name: send result to slack
291291
if: always() && inputs.slackChannelId != ''
292-
uses: slackapi/slack-github-action@v1.26.0
293-
env:
294-
SLACK_BOT_TOKEN: ${{ secrets.slackToken }}
292+
uses: slackapi/slack-github-action@v3.0.1
295293
with:
296-
channel-id: ${{ inputs.slackChannelId }}
294+
method: chat.postMessage
295+
token: ${{ secrets.slackToken }}
297296
payload: |
298297
{
298+
"channel": "${{ inputs.slackChannelId }}",
299299
"text": ":${{ steps.helper.outputs.emoji }}: *${{ github.repository }} deploy of helmfile result: ${{ job.status }}*",
300300
"attachments": [
301301
{

.github/workflows/get_values.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ on:
1919
description: Short commit sha
2020
value: ${{ jobs.get_values.outputs.short_commit_sha }}
2121
clean_branch_name:
22-
description: Branch name stripped of non-alphanumeric characters and capped at length of 35
22+
description: Branch name stripped of non-alphanumeric characters, lowercased, and capped at length of 35
2323
value: ${{ jobs.get_values.outputs.clean_branch_name }}
2424
clean_branch_name_with_suffix:
25-
description: Branch name stripped of non-alphanumeric characters and capped at length of 28 concatenated with first 6 chars of branch SHA
25+
description: Branch name stripped of non-alphanumeric characters, lowercased, and capped at length of 28 concatenated with the first 6 hex chars of its SHA-1
2626
value: ${{ jobs.get_values.outputs.clean_branch_name_with_suffix }}
2727
commit_author:
2828
description: Author of last commit
@@ -53,6 +53,7 @@ jobs:
5353
fi
5454
5555
_BRANCH_NAME=${BRANCH_NAME//[^[:alnum:]]/}
56+
_BRANCH_NAME=$(echo "${_BRANCH_NAME}" | tr '[:upper:]' '[:lower:]')
5657
CLEAN_BRANCH_NAME=$(echo ${_BRANCH_NAME} | cut -c 1-35)
5758
CLEAN_BRANCH_NAME_WITH_SUFFIX=$(echo ${_BRANCH_NAME} | cut -c 1-28)-$(echo ${_BRANCH_NAME} | shasum -a 1 | cut -c 1-6)
5859
@@ -62,7 +63,7 @@ jobs:
6263
echo "clean_branch_name_with_suffix=${CLEAN_BRANCH_NAME_WITH_SUFFIX}" >> $GITHUB_OUTPUT
6364
6465
- name: get last commit author
65-
uses: actions/github-script@v7
66+
uses: actions/github-script@v9
6667
id: get_commit_author
6768
with:
6869
result-encoding: string

.github/workflows/grafana_annotation.yaml

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,6 @@ name: grafana annotation
33
on:
44
workflow_call:
55
inputs:
6-
environment:
7-
description: Environment
8-
required: false
9-
type: string
106
grafanaAnnotationTags:
117
description: Custom annotation tags
128
required: false
@@ -28,20 +24,56 @@ on:
2824
outputs:
2925
annotation_id:
3026
description: Annotation Id
31-
value: ${{ jobs.grafana.outputs.annotation_id }}
27+
value: ${{ jobs.grafana.outputs.annotation_id }}
3228

3329
jobs:
3430
grafana:
3531
runs-on: ubuntu-latest
3632
outputs:
3733
annotation_id: ${{ steps.grafana.outputs.annotation-id }}
3834
steps:
39-
- name: add Grafana annotation
35+
- name: Add grafana annotation
4036
id: grafana
41-
uses: hexionas/grafana-annotation-action@v1.0.1
42-
with:
43-
grafanaHost: "https://grafana.apify.dev"
44-
grafanaToken: ${{ secrets.grafanaApiToken }}
45-
grafanaText: ${{ inputs.grafanaAnnotationText }}
46-
grafanaTags: ${{ inputs.grafanaAnnotationTags }}
47-
grafanaAnnotationID: ${{ inputs.grafanaAnnotationId }}
37+
env:
38+
GRAFANA_ANNOTATION_ID: ${{ inputs.grafanaAnnotationId }}
39+
GRAFANA_ANNOTATION_TAGS: ${{ inputs.grafanaAnnotationTags }}
40+
GRAFANA_ANNOTATION_TEXT: ${{ inputs.grafanaAnnotationText }}
41+
GRAFANA_TOKEN: ${{ secrets.grafanaApiToken }}
42+
GRAFANA_HOST: "https://grafana.apify.dev"
43+
run: |
44+
set -euo pipefail
45+
46+
endpoint="$GRAFANA_HOST/api/annotations"
47+
48+
# Convert newline-separated tags into a JSON array, dropping empty lines.
49+
tags_json=$(printf '%s' "$GRAFANA_ANNOTATION_TAGS" \
50+
| jq -Rn '[inputs | select(. != "")]')
51+
52+
# Determine whether to create (POST) or close out (PATCH) the annotation.
53+
# PATCH mirrors the archived action: it only updates the annotation's
54+
# end time to "now" (milliseconds since epoch).
55+
if [[ -n "${GRAFANA_ANNOTATION_ID:-}" ]]; then
56+
method='PATCH'
57+
endpoint="$endpoint/$GRAFANA_ANNOTATION_ID"
58+
body=$(jq -n --argjson timeEnd "$(date +%s%3N)" \
59+
'{timeEnd: $timeEnd}')
60+
else
61+
method='POST'
62+
body=$(jq -n \
63+
--arg text "$GRAFANA_ANNOTATION_TEXT" \
64+
--argjson tags "$tags_json" \
65+
'{tags: $tags, text: $text}')
66+
fi
67+
68+
response=$(curl --fail --retry 3 --silent --show-error \
69+
-X "$method" "$endpoint" \
70+
--header "Authorization: Bearer $GRAFANA_TOKEN" \
71+
--header 'Content-Type: application/json' \
72+
--data "$body")
73+
74+
if [[ "$method" == 'POST' ]]; then
75+
id=$(jq -r '.id' <<< "$response")
76+
echo "annotation-id=$id" >> "$GITHUB_OUTPUT"
77+
else
78+
echo "annotation-id=$GRAFANA_ANNOTATION_ID" >> "$GITHUB_OUTPUT"
79+
fi

.github/workflows/lint_gh_actions.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ on:
1010

1111
env:
1212
# renovate: datasource=docker depName=rhysd/actionlint
13-
ACTIONLINT_VERSION: 1.7.7
13+
ACTIONLINT_VERSION: 1.7.12
1414

1515
jobs:
1616
lint:

0 commit comments

Comments
 (0)