Skip to content

Commit 4e7aa1c

Browse files
Merge pull request #847 from linode/dev
Release v5.65.1
2 parents 2cf7e32 + 049d772 commit 4e7aa1c

36 files changed

Lines changed: 266 additions & 98 deletions

.github/pull_request_template.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,3 @@
77
**What are the steps to reproduce the issue or verify the changes?**
88

99
**How do I run the relevant unit/integration tests?**
10-
11-
## 📷 Preview
12-
13-
**If applicable, include a screenshot or code snippet of this change. Otherwise, please remove this section.**

.github/workflows/e2e-suite.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,14 @@ on:
4040
options:
4141
- 'true'
4242
- 'false'
43+
test_report_upload:
44+
description: 'Indicates whether to upload the test report to object storage. Defaults to "false"'
45+
required: false
46+
default: 'false'
47+
type: choice
48+
options:
49+
- 'true'
50+
- 'false'
4351

4452
push:
4553
branches:
@@ -127,7 +135,7 @@ jobs:
127135

128136
- name: Upload Test Report as Artifact
129137
if: always()
130-
uses: actions/upload-artifact@v5
138+
uses: actions/upload-artifact@v6
131139
with:
132140
name: test-report-file
133141
if-no-files-found: ignore
@@ -231,7 +239,8 @@ jobs:
231239
process-upload-report:
232240
runs-on: ubuntu-latest
233241
needs: [integration_tests]
234-
if: always() && github.repository == 'linode/linode-cli' # Run even if integration tests fail and only on main repository
242+
# Run even if integration tests fail on main repository AND (push event OR (manually triggered and test_report_upload is true))
243+
if: always() && github.repository == 'linode/linode-cli' && (github.event_name == 'push' || (github.event_name == 'workflow_dispatch' && inputs.test_report_upload == 'true'))
235244
outputs:
236245
summary: ${{ steps.set-test-summary.outputs.summary }}
237246

@@ -243,7 +252,7 @@ jobs:
243252
submodules: 'recursive'
244253

245254
- name: Download test report
246-
uses: actions/download-artifact@v6
255+
uses: actions/download-artifact@v7
247256
with:
248257
name: test-report-file
249258

@@ -258,7 +267,6 @@ jobs:
258267
- name: Set release version env
259268
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
260269

261-
262270
- name: Add variables and upload test results
263271
if: always()
264272
run: |

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,10 @@ jobs:
3939
run: make requirements
4040

4141
- name: Set up QEMU
42-
uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # pin@v3.6.0
42+
uses: docker/setup-qemu-action@c7c53464625b32c7a7e944ae62b3e17d2b600130 # pin@v3.7.0
4343

4444
- name: Set up Docker Buildx
45-
uses: docker/setup-buildx-action@e468171a9de216ec08956ac3ada2f0791b6bd435 # pin@v3.11.1
45+
uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f # pin@v3.12.0
4646

4747
- name: Login to Docker Hub
4848
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # pin@v3.6.0

.github/workflows/remote-release-trigger.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
commit_sha: ${{ steps.calculate_head_sha.outputs.commit_sha }}
6767

6868
- name: Release
69-
uses: softprops/action-gh-release@6da8fa9354ddfdc4aeace5fc48d7f679b5214090 # pin@v2.4.1
69+
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # pin@v2.5.0
7070
with:
7171
target_commitish: 'main'
7272
token: ${{ steps.generate_token.outputs.token }}

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Visit the [Wiki](../../wiki/Installation) for more information.
2121

2222
## Contributing
2323

24-
This CLI is generated from the [OpenAPI specification for Linode's API](https://github.com/linode/linode-api-docs). As
24+
This CLI is generated from the [OpenAPI specification for Linode's API](https://github.com/linode/linode-api-openapi). As
2525
such, many changes are made directly to the spec.
2626

2727
Please follow the [Contributing Guidelines](https://github.com/linode/linode-cli/blob/main/CONTRIBUTING.md) when making a contribution.

linodecli/arg_helpers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
This module defines argument parsing, plugin registration, and plugin removal
55
functionalities for the Linode CLI.
66
"""
7+
78
import sys
89
from argparse import ArgumentParser
910
from configparser import ConfigParser

linodecli/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ def user_agent(self) -> str:
286286
"""
287287
return (
288288
f"linode-cli/{self.version} "
289-
f"linode-api-docs/{self.spec_version} "
289+
f"linode-api-openapi/{self.spec_version} "
290290
f"python/{version_info[0]}.{version_info[1]}.{version_info[2]}"
291291
)
292292

linodecli/completion.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"""
33
Contains any code relevant to generating/updating shell completions for linode-cli
44
"""
5+
56
from string import Template
67

78
from openapi3 import OpenAPI
@@ -93,12 +94,10 @@ def get_bash_completions(ops):
9394
complete -F _linode_cli lin"""
9495
)
9596

96-
command_template = Template(
97-
"""$command)
97+
command_template = Template("""$command)
9898
COMPREPLY=( $(compgen -W "$actions --help" -- ${cur}) )
9999
return 0
100-
;;"""
101-
)
100+
;;""")
102101

103102
command_blocks = [
104103
command_template.safe_substitute(

linodecli/configuration/auth.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -214,13 +214,11 @@ def _get_token_terminal(base_url: str) -> Tuple[str, str]:
214214
:returns: A tuple containing the user's username and token.
215215
:rtype: Tuple[str, str]
216216
"""
217-
print(
218-
f"""
217+
print(f"""
219218
First, we need a Personal Access Token. To get one, please visit
220219
{TOKEN_GENERATION_URL} and click
221220
"Create a Personal Access Token". The CLI needs access to everything
222-
on your account to work correctly."""
223-
)
221+
on your account to work correctly.""")
224222

225223
while True:
226224
token = input("Personal Access Token: ")
@@ -329,15 +327,13 @@ def log_message(self, form, *args): # pylint: disable=arguments-differ
329327
# figure out the URL to direct the user to and print out the prompt
330328
# pylint: disable-next=line-too-long
331329
url = f"https://login.linode.com/oauth/authorize?client_id={OAUTH_CLIENT_ID}&response_type=token&scopes=*&redirect_uri=http://localhost:{serv.server_address[1]}"
332-
print(
333-
f"""A browser should open directing you to this URL to authenticate:
330+
print(f"""A browser should open directing you to this URL to authenticate:
334331
335332
{url}
336333
337334
If you are not automatically directed there, please copy/paste the link into your browser
338335
to continue..
339-
"""
340-
)
336+
""")
341337

342338
webbrowser.open(url)
343339

@@ -348,7 +344,7 @@ def log_message(self, form, *args): # pylint: disable=arguments-differ
348344
except KeyboardInterrupt:
349345
print(
350346
"\nGiving up. If you couldn't get web authentication to work, please "
351-
"try token using a token by invoking with `linode-cli configure --token`, "
347+
"try using a token by invoking with `linode-cli configure --token`, "
352348
"and open an issue at https://github.com/linode/linode-cli",
353349
file=sys.stderr,
354350
)

linodecli/configuration/helpers.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,11 +97,9 @@ def _check_browsers() -> bool:
9797

9898
# pylint: disable-next=protected-access
9999
if not KNOWN_GOOD_BROWSERS.intersection(webbrowser._tryorder):
100-
print(
101-
"""
100+
print("""
102101
This tool defaults to web-based authentication,
103-
however no known-working browsers were found."""
104-
)
102+
however no known-working browsers were found.""")
105103
while True:
106104
r = input("Try it anyway? [y/N]: ")
107105
if r.lower() in "yn ":

0 commit comments

Comments
 (0)