Skip to content

Commit 820ea6f

Browse files
committed
fix(user-agent): refresh CLI for 2.11.11
Merge current main, preserve the 2.11.11 Coana release notes, and use the lowercase CLI identity for direct and SDK calls. Verify both request paths at the HTTP transport boundary. Assisted-by: Codex:GPT-6
2 parents ffcc07b + da31a83 commit 820ea6f

20 files changed

Lines changed: 292 additions & 99 deletions

‎.github/actions/setup-docker/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ runs:
2222
- uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4.4.0
2323
if: inputs.enable-qemu == 'true'
2424
- uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4.4.1
25-
- uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f # v4.6.0
25+
- uses: docker/login-action@81c6f93d4bc991e510b342a00b419b3bb4efc5c6 # v4.7.0
2626
with:
2727
username: ${{ inputs.dockerhub-username }}
2828
password: ${{ inputs.dockerhub-token }}

‎.github/actions/setup-sfw/action.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ runs:
2727
using: "composite"
2828
steps:
2929
- if: ${{ inputs.python == 'true' || inputs.uv == 'true' }}
30-
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
30+
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
3131
with:
3232
python-version: "3.12"
3333

‎.github/workflows/dependency-audit.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
persist-credentials: false
4141

4242
- name: 🐍 setup python
43-
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
43+
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
4444
with:
4545
python-version: ${{ env.PYTHON_VERSION }}
4646

‎.github/workflows/dependency-review.yml‎

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ jobs:
150150
echo "sha=${{ github.event.pull_request.head.sha }}"
151151
} > sfw-artifacts/context.txt
152152
153-
- uses: ./.github/actions/setup-sfw
153+
- uses: $/.github/actions/setup-sfw
154154
with:
155155
uv: "true"
156156
mode: firewall-free
@@ -241,7 +241,7 @@ jobs:
241241
echo "sha=${{ github.event.pull_request.head.sha }}"
242242
} > sfw-artifacts/context.txt
243243
244-
- uses: ./.github/actions/setup-sfw
244+
- uses: $/.github/actions/setup-sfw
245245
with:
246246
uv: "true"
247247
mode: firewall-enterprise
@@ -332,7 +332,7 @@ jobs:
332332
echo "sha=${{ github.event.pull_request.head.sha }}"
333333
} > sfw-artifacts/context.txt
334334
335-
- uses: ./.github/actions/setup-sfw
335+
- uses: $/.github/actions/setup-sfw
336336
with:
337337
node: "true"
338338
mode: firewall-free
@@ -393,7 +393,7 @@ jobs:
393393
echo "sha=${{ github.event.pull_request.head.sha }}"
394394
} > sfw-artifacts/context.txt
395395
396-
- uses: ./.github/actions/setup-sfw
396+
- uses: $/.github/actions/setup-sfw
397397
with:
398398
node: "true"
399399
mode: firewall-enterprise
@@ -454,7 +454,7 @@ jobs:
454454
echo "sha=${{ github.event.pull_request.head.sha }}"
455455
} > sfw-artifacts/context.txt
456456
457-
- uses: ./.github/actions/setup-sfw
457+
- uses: $/.github/actions/setup-sfw
458458
with:
459459
python: "true"
460460
mode: firewall-free
@@ -518,7 +518,7 @@ jobs:
518518
echo "sha=${{ github.event.pull_request.head.sha }}"
519519
} > sfw-artifacts/context.txt
520520
521-
- uses: ./.github/actions/setup-sfw
521+
- uses: $/.github/actions/setup-sfw
522522
with:
523523
python: "true"
524524
mode: firewall-enterprise

‎.github/workflows/docker-stable.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
echo "Version ${INPUT_VERSION} found on PyPI - proceeding with release"
3030
3131
- name: Set up Docker publishing
32-
uses: ./.github/actions/setup-docker
32+
uses: $/.github/actions/setup-docker
3333
with:
3434
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
3535
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}

‎.github/workflows/e2e-test.yml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ jobs:
8080
fetch-depth: 0
8181
persist-credentials: false
8282

83-
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
83+
- uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
8484
with:
8585
python-version: '3.12'
8686

‎.github/workflows/package-check.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ jobs:
2323
fetch-depth: 1
2424
persist-credentials: false
2525

26-
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
26+
- uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
2727
with:
2828
python-version: "3.12"
2929

3030
- name: Install build tooling
31-
uses: ./.github/actions/setup-hatch
31+
uses: $/.github/actions/setup-hatch
3232

3333
- name: Install distribution validator
3434
run: python -m pip install "twine>=4.0.0"

‎.github/workflows/pr-preview.yml‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -107,12 +107,12 @@ jobs:
107107
fetch-depth: 0
108108
persist-credentials: false
109109

110-
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
110+
- uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
111111
with:
112112
python-version: "3.12"
113113

114114
- name: Install build tooling
115-
uses: ./.github/actions/setup-hatch
115+
uses: $/.github/actions/setup-hatch
116116

117117
- name: Install distribution validator
118118
run: python -m pip install "twine>=4.0.0"
@@ -179,7 +179,7 @@ jobs:
179179
path: dist
180180

181181
- name: Publish to TestPyPI
182-
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
182+
uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3
183183
with:
184184
repository-url: https://test.pypi.org/legacy/
185185
verbose: true
@@ -252,7 +252,7 @@ jobs:
252252
path: dist
253253

254254
- name: Set up Docker publishing
255-
uses: ./.github/actions/setup-docker
255+
uses: $/.github/actions/setup-docker
256256
with:
257257
# QEMU is required to build the arm64 layer on an amd64 runner.
258258
enable-qemu: "true"

‎.github/workflows/python-tests.yml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
fetch-depth: 1
3737
persist-credentials: false
3838
- name: 🐍 setup python
39-
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
39+
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
4040
with:
4141
python-version: ${{ env.PYTHON_VERSION }}
4242
- name: 🛠️ install deps
@@ -68,7 +68,7 @@ jobs:
6868
fetch-depth: 1
6969
persist-credentials: false
7070
- name: 🐍 setup python
71-
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
71+
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
7272
with:
7373
python-version: ${{ env.PYTHON_VERSION }}
7474
- name: 🛠️ install deps
@@ -88,7 +88,7 @@ jobs:
8888
fetch-depth: 1
8989
persist-credentials: false
9090
- name: 🐍 setup python
91-
uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
91+
uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
9292
with:
9393
python-version: "3.10"
9494
- name: 🚫 verify install is rejected on unsupported python

‎.github/workflows/release.yml‎

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@ jobs:
99
permissions:
1010
id-token: write
1111
contents: read
12+
issues: write
1213
steps:
1314
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
1415
with:
1516
fetch-depth: 0
1617
persist-credentials: false
17-
- uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0
18+
- uses: actions/setup-python@6d4fd22b20465ccc0f7354476588e8df7c9ca0e0 # v7.1.0
1819
with:
1920
python-version: '3.13'
2021

2122
- name: Install build tooling
22-
uses: ./.github/actions/setup-hatch
23+
uses: $/.github/actions/setup-hatch
2324

2425
- name: Get Version
2526
id: version
@@ -66,10 +67,10 @@ jobs:
6667
6768
- name: Publish to PyPI
6869
if: steps.version_check.outputs.pypi_exists != 'true'
69-
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
70+
uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086 # v1.14.3
7071

7172
- name: Set up Docker publishing
72-
uses: ./.github/actions/setup-docker
73+
uses: $/.github/actions/setup-docker
7374
with:
7475
dockerhub-username: ${{ secrets.DOCKERHUB_USERNAME }}
7576
dockerhub-token: ${{ secrets.DOCKERHUB_TOKEN }}
@@ -123,3 +124,44 @@ jobs:
123124
socketdev/cli:${{ env.VERSION }}
124125
build-args: |
125126
CLI_VERSION=${{ env.VERSION }}
127+
128+
# Releases are immutable, so a failed run leaves a published GitHub release whose
129+
# tag can never be reused, with nothing on PyPI or Docker Hub behind it. A failed
130+
# run only notifies whoever published the release, so raise it where the team
131+
# will see it.
132+
- name: Open an issue for the failed release
133+
if: failure()
134+
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
135+
env:
136+
VERSION: ${{ env.VERSION }}
137+
with:
138+
script: |
139+
const release = context.payload.release;
140+
const runUrl =
141+
`${context.serverUrl}/${context.repo.owner}/${context.repo.repo}` +
142+
`/actions/runs/${context.runId}`;
143+
const body = [
144+
`@SocketDev/customer-engineering the release workflow for [${release.tag_name}](${release.html_url}) ` +
145+
`(published by @${release.author.login}) failed: ${runUrl}`,
146+
'',
147+
`- Tag: \`${release.tag_name}\``,
148+
`- Package version at that commit: \`${process.env.VERSION || 'unknown'}\``,
149+
'',
150+
'Check the run for which step failed. If it failed before "Publish to PyPI", nothing reached PyPI or ' +
151+
'Docker Hub, but the GitHub release is immutable and its tag can never be reused.',
152+
'',
153+
'Before publishing another release:',
154+
'',
155+
'1. Edit this release\'s notes to say it was not published and name the release that replaces it.',
156+
'2. If the tag and the package version disagree, merge a PR that bumps the version to one with no ' +
157+
'existing tag (the Version Check workflow enforces this), then publish a release whose tag matches ' +
158+
'that version exactly. Do not pick the next tag number from the releases list.',
159+
].join('\n');
160+
161+
const created = await github.rest.issues.create({
162+
owner: context.repo.owner,
163+
repo: context.repo.repo,
164+
title: `Release ${release.tag_name} failed`,
165+
body,
166+
});
167+
core.error(`Release failed; opened #${created.data.number}`);

0 commit comments

Comments
 (0)