Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a gh variable get FOO command #9106

Merged
merged 2 commits into from
May 23, 2024
Merged

Conversation

arnested
Copy link
Contributor

Closes #9103.

@arnested arnested requested a review from a team as a code owner May 21, 2024 19:48
@cliAutomation cliAutomation added the external pull request originating outside of the CLI core team label May 21, 2024
@cliAutomation cliAutomation added this to Needs review 🤔 in The GitHub CLI May 21, 2024
@williammartin
Copy link
Member

Repo Variables

➜ ~/workspace/cli/bin/gh variable list | cat
TEST    updated-test    2024-05-21T11:21:00Z

➜  ~/workspace/cli/bin/gh variable get TEST
updated-test

Org Vars

➜  ~/workspace/cli/bin/gh variable list --org williammartin-test-org | cat
FOO     BAR     2024-05-23T14:44:53Z    PRIVATE

➜  ~/workspace/cli/bin/gh variable get --org williammartin-test-org FOO
BAR

Env Vars

➜  ~/workspace/cli/bin/gh variable list --env 9106-review | cat
FOO     BAR     2024-05-23T14:42:35Z
➜  ~/workspace/cli/bin/gh variable get --env 9106-review FOO
BAR

Missing Variables

➜  ~/workspace/cli/bin/gh variable get MISSING
variable MISSING was not found

Other Errors e.g missing permissions

➜ ~/workspace/cli/bin/gh variable get --org williammartin-test-org FOO
failed to get variable FOO: HTTP 403: You must be an org admin or have the actions variables fine-grained permission. (https://api.github.com/orgs/williammartin-test-org/actions/variables/FOO)
This API operation needs the "admin:org" scope. To request it, run:  gh auth refresh -h github.com -s admin:org

Copy link
Member

@williammartin williammartin left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for this, it was very close already. I just made a couple of minor changes around the implementation and tests.

@williammartin williammartin merged commit 08a5589 into cli:trunk May 23, 2024
9 checks passed
return fmt.Errorf("failed to get variable %s: %w", opts.VariableName, err)
}

fmt.Fprintf(opts.IO.Out, "%s", response.Value)
fmt.Fprintf(opts.IO.Out, "%s\n", response.Value)
Copy link
Contributor Author

@arnested arnested May 26, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@williammartin I think adding the newline could be a problem in scripting.

When doing stuff like

FOO=$(gh variable get MY_VAR)

Now the trailing newline would be part of the variable. Of course, I could trim the trailing newline, but it's inconvenient and not obvious.

It's nice when the variable is displayed in the terminal (but if the variable actually had a newline already, you would get an extra).

A solution for increased readability in the terminal could be to add a newline but add it to stderr, if and only if the variable already lacks a trailing newline and both stdout and stderr are to the terminal.

fmt.Fprintf(opts.IO.Out, "%s", response.Value)

if !strings.HasSuffix(response.Value, "\n") && opts.IO.IsStdoutTTY() && opts.IO.IsStderrTTY() {
	fmt.Fprint(opts.IO.ErrOut, "\n")
}

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well...this sent me on a bit of a journey. Firstly, I appreciate your comment and sorry that I didn't recognise there was more to discuss here.

Command Substitution

I don't believe that your first example is an issue because command substitution ($()) removes trailing line feed characters:

export FOO="---\n\n\n"echo $FOO
---



➜ echo "$(echo "$FOO")"
---

Thus, our addition of a \n in the fmt.Printf should have no impact on FOO=$(gh variable get MY_VAR). This is consistent with other gh commands when not hooked up to a TTY but printing info e.g. repo create showing the newly created repo URL.

This also makes sense from a UX point of view as well because in CI or scripts we wouldn't want users to have to add newlines everywhere in order to avoid text appearing concatenated together with no spacing.

However....

It did get me wondering about your other comment relating to variables ending with newlines. If command substitution strips trailing Line Feed chars then that will be problematic for variables that have trailing new lines:

~/workspace/cli/bin/gh variable set Triage9106 --body "foobar

"
foobar


✓ Updated variable Triage9106 for cli/cli
➜  ~/workspace/cli/bin/gh variable get Triage9106
foobar


➜ echo "$(~/workspace/cli/bin/gh variable get Triage9106)"
foobar

So this leaves us in an interesting situation because for variables ending in newlines, command substitution is a bit of a nightmare. There does appear to be some workarounds however in that case it's probably not possible for a user to distinguish between their own newlines and the one added by the CLI.

However, I'm inclined to say that in this particular case, we document it and place the responsibility on the user to strip our trailing newline before processing the string because the alternative and much more common case seems quite annoying (strings being concatenated together and it working differently from other commands).

Finally

I'm inclined to say there is a bug in both secret set and variable set when reading the variable value from stdin. It looks like in #5086 we decided to trim carriage return and line feed chars from the end because the shell adds one but the implementation actually strips all trailing CR/LF chars:

echo $FOO | ~/workspace/cli/bin/gh variable set Triage9106
---
✓ Updated variable Triage9106 for cli/cli
➜ ~/workspace/cli/bin/gh variable get Triage9106
---

Let me know your thoughts, cheers!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh. I didn't know command substitution removes trailing newlines.

It might just have been me being too careful about not loosing my scripting capabilities.

So adding the newline seems perfectly inline with what would normally be expected. I'm not sure, removing the newlines in command substitution was the world's best idea (looking at the workarounds, among others) but that should probably have been handled 45 years ago by someone not me or you 😄

@arnested arnested deleted the 9103-variable-get branch May 30, 2024 04:51
izumin5210 pushed a commit to izumin5210/dotfiles that referenced this pull request Jun 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [cli/cli](https://togithub.com/cli/cli) | minor | `v2.49.2` ->
`v2.50.0` |

---

### Release Notes

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.50.0`](https://togithub.com/cli/cli/releases/tag/v2.50.0):
GitHub CLI 2.50.0

[Compare Source](https://togithub.com/cli/cli/compare/v2.49.2...v2.50.0)

#### What's Changed

- Refactor git credential flow code by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9089
- feat: add json output for `gh pr checks` by
[@&#8203;nobe4](https://togithub.com/nobe4) in
[cli/cli#9079
- Rework first auth tests with new gitcredential abstractions by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9095
- list the various alias permutations for the command and subcommands,
via '--help' and 'gh reference' by
[@&#8203;gabemontero](https://togithub.com/gabemontero) in
[cli/cli#8824
- Removed tty message when checking for extension upgrades by
[@&#8203;leevic31](https://togithub.com/leevic31) in
[cli/cli#9088
- Fix doc bug for gh run watch by
[@&#8203;jasonodonnell](https://togithub.com/jasonodonnell) in
[cli/cli#9052
- feat: add support for stateReason in `gh pr view` by
[@&#8203;nobe4](https://togithub.com/nobe4) in
[cli/cli#9080
- fix: rename the `Attempts` field to `Attempt`; expose in `gh run view`
and `gh run ls` by [@&#8203;cawfeecake](https://togithub.com/cawfeecake)
in
[cli/cli#8905
- Update regex in changedFilesNames to handle quoted paths by
[@&#8203;anda3](https://togithub.com/anda3) in
[cli/cli#9115
- Add a `gh variable get FOO` command by
[@&#8203;arnested](https://togithub.com/arnested) in
[cli/cli#9106
- Add macOS pkg installer to deployment
([#&#8203;7554](https://togithub.com/cli/cli/issues/7554)) by
[@&#8203;paulober](https://togithub.com/paulober) in
[cli/cli#7555
- Add integration tests for `gh attestation verify` shared workflow use
case by [@&#8203;malancas](https://togithub.com/malancas) in
[cli/cli#9107
- Add build provenance for gh CLI releases by
[@&#8203;malancas](https://togithub.com/malancas) in
[cli/cli#9087
- build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.3 to
1.4.4 by [@&#8203;dependabot](https://togithub.com/dependabot) in
[cli/cli#9124
- Build completions during release on macos by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9136
- Clarify Mac OS Installer packages are unsigned by
[@&#8203;andyfeller](https://togithub.com/andyfeller) in
[cli/cli#9140

#### New Contributors

- [@&#8203;gabemontero](https://togithub.com/gabemontero) made their
first contribution in
[cli/cli#8824
- [@&#8203;jasonodonnell](https://togithub.com/jasonodonnell) made their
first contribution in
[cli/cli#9052
- [@&#8203;anda3](https://togithub.com/anda3) made their first
contribution in
[cli/cli#9115
- [@&#8203;arnested](https://togithub.com/arnested) made their first
contribution in
[cli/cli#9106
- [@&#8203;paulober](https://togithub.com/paulober) made their first
contribution in
[cli/cli#7555

**Full Changelog**: cli/cli@v2.49.2...v2.50.0

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/izumin5210/dotfiles).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: izumin5210-update-aqua-checksum[bot] <169593670+izumin5210-update-aqua-checksum[bot]@users.noreply.github.com>
renovate bot added a commit to scottames/dots that referenced this pull request Jun 2, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [aquaproj/aqua-registry](https://togithub.com/aquaproj/aqua-registry)
| minor | `v4.185.1` -> `v4.188.0` |
| [casey/just](https://togithub.com/casey/just) | minor | `1.26.0` ->
`1.27.0` |
| [charmbracelet/gum](https://togithub.com/charmbracelet/gum) | patch |
`v0.14.0` -> `v0.14.1` |
| [cli/cli](https://togithub.com/cli/cli) | minor | `v2.49.2` ->
`v2.50.0` |
| [dagger/dagger](https://togithub.com/dagger/dagger) | patch |
`v0.11.4` -> `v0.11.6` |
| [dprint/dprint](https://togithub.com/dprint/dprint) | minor | `0.45.1`
-> `0.46.1` |
| [fujiwara/awslim](https://togithub.com/fujiwara/awslim) | patch |
`v0.1.1` -> `v0.1.2` |
| [golangci/golangci-lint](https://togithub.com/golangci/golangci-lint)
| minor | `v1.58.2` -> `v1.59.0` |
| [simulot/immich-go](https://togithub.com/simulot/immich-go) | minor |
`0.14.1` -> `0.15.0` |
| [snyk/cli](https://togithub.com/snyk/cli) | patch | `v1.1291.0` ->
`v1.1291.1` |
| [twpayne/chezmoi](https://togithub.com/twpayne/chezmoi) | patch |
`v2.48.1` -> `v2.48.2` |
| [weaveworks/eksctl](https://togithub.com/weaveworks/eksctl) | minor |
`v0.179.0` -> `v0.180.0` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary>

###
[`v4.188.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.188.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.187.1...v4.188.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.188.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.188.0)
| aquaproj/aqua-registry@v4.187.1...v4.188.0

#### 🎉 New Packages


[#&#8203;23408](https://togithub.com/aquaproj/aqua-registry/issues/23408)
[getsavvyinc/savvy-cli](https://togithub.com/getsavvyinc/savvy-cli):
Create, share, and run runbooks from your terminal

[#&#8203;23384](https://togithub.com/aquaproj/aqua-registry/issues/23384)
[joshmedeski/sesh](https://togithub.com/joshmedeski/sesh): Smart session
manager for the terminal
[@&#8203;CrystalMethod](https://togithub.com/CrystalMethod)

###
[`v4.187.1`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.187.1)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.187.0...v4.187.1)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.187.1)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.187.1)
| aquaproj/aqua-registry@v4.187.0...v4.187.1

#### Fixes


[#&#8203;23378](https://togithub.com/aquaproj/aqua-registry/issues/23378)
authzed/zed: Use gnu binary instead of musl binary
[@&#8203;sapphi-red](https://togithub.com/sapphi-red)

musl version exists for linux, but it is dynamically linked to musl libc
and therefore doesn't work on glibc systems.

###
[`v4.187.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.187.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.186.0...v4.187.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.187.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.187.0)
| aquaproj/aqua-registry@v4.186.0...v4.187.0

#### 🎉 New Packages


[#&#8203;23375](https://togithub.com/aquaproj/aqua-registry/issues/23375)
[authzed/zed](https://togithub.com/authzed/zed): Official command-line
tool for managing SpiceDB
[@&#8203;sapphi-red](https://togithub.com/sapphi-red)

[#&#8203;23277](https://togithub.com/aquaproj/aqua-registry/issues/23277)
[nucleuscloud/neosync](https://togithub.com/nucleuscloud/neosync): Open
source data anonymization and synthetic data orchestration for
developers. Create high fidelity synthetic data and sync it across your
environments

###
[`v4.186.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.186.0)

[Compare
Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.185.1...v4.186.0)


[Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.186.0)
| [Pull
Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.186.0)
| aquaproj/aqua-registry@v4.185.1...v4.186.0

#### 🎉 New Packages


[#&#8203;23253](https://togithub.com/aquaproj/aqua-registry/issues/23253)
[stripe/stripe-cli](https://togithub.com/stripe/stripe-cli): A
command-line tool for Stripe

#### Fix


[#&#8203;23254](https://togithub.com/aquaproj/aqua-registry/issues/23254)
dlvhdr/gh-dash: Follow up changes of gh-dash v4.0.0

-
[dlvhdr/gh-dash#336

</details>

<details>
<summary>casey/just (casey/just)</summary>

###
[`v1.27.0`](https://togithub.com/casey/just/blob/HEAD/CHANGELOG.md#1270---2024-05-25)

[Compare
Source](https://togithub.com/casey/just/compare/1.26.0...1.27.0)

##### Changed

- Use cache dir for temporary files
([#&#8203;2067](https://togithub.com/casey/just/pull/2067))

##### Added

- Add `[doc]` attribute to set and suppress documentation comments
([#&#8203;2050](https://togithub.com/casey/just/pull/2050) by
[neunenak](https://togithub.com/neunenak))
- Add source_file() and source_directory() functions
([#&#8203;2088](https://togithub.com/casey/just/pull/2088))
- Add recipe groups
([#&#8203;1842](https://togithub.com/casey/just/pull/1842) by
[neunenak](https://togithub.com/neunenak))
- Add shell() function for running external commands
([#&#8203;2047](https://togithub.com/casey/just/pull/2047) by
[gyreas](https://togithub.com/gyreas))
- Add `--global-justfile` flag
([#&#8203;1846](https://togithub.com/casey/just/pull/1846) by
[neunenak](https://togithub.com/neunenak))
- Add shell-expanded strings
([#&#8203;2055](https://togithub.com/casey/just/pull/2055))
- Add `encode_uri_component` function
([#&#8203;2052](https://togithub.com/casey/just/pull/2052) by
[laniakea64](https://togithub.com/laniakea64))
- Add `choose` function for generating random strings
([#&#8203;2049](https://togithub.com/casey/just/pull/2049) by
[laniakea64](https://togithub.com/laniakea64))
- Add predefined constants
([#&#8203;2054](https://togithub.com/casey/just/pull/2054))
- Allow setting some command-line options with environment variables
([#&#8203;2044](https://togithub.com/casey/just/pull/2044) by
[neunenak](https://togithub.com/neunenak))
- Add prepend() function
([#&#8203;2045](https://togithub.com/casey/just/pull/2045) by
[gyreas](https://togithub.com/gyreas))
- Add append() function
([#&#8203;2046](https://togithub.com/casey/just/pull/2046) by
[gyreas](https://togithub.com/gyreas))
- Add --man subcommand
([#&#8203;2041](https://togithub.com/casey/just/pull/2041))
- Make `dotenv-path` relative to working directory
([#&#8203;2040](https://togithub.com/casey/just/pull/2040))
- Add `assert` expression
([#&#8203;1845](https://togithub.com/casey/just/pull/1845) by
[de1iza](https://togithub.com/de1iza))
- Add 'allow-duplicate-variables' setting
([#&#8203;1922](https://togithub.com/casey/just/pull/1922) by
[Mijago](https://togithub.com/Mijago))

##### Fixed

- List modules in source order with `--unsorted`
([#&#8203;2085](https://togithub.com/casey/just/pull/2085))
- Show submodule recipes in --choose
([#&#8203;2069](https://togithub.com/casey/just/pull/2069))
- Allow multiple imports of the same file in different modules
([#&#8203;2065](https://togithub.com/casey/just/pull/2065))
- Fix submodule recipe listing indentation
([#&#8203;2063](https://togithub.com/casey/just/pull/2063))
- Pass command as first argument to `shell`
([#&#8203;2061](https://togithub.com/casey/just/pull/2061))
- Allow shell expanded strings in mod and import paths
([#&#8203;2059](https://togithub.com/casey/just/pull/2059))
- Run imported recipes in root justfile with correct working directory
([#&#8203;2056](https://togithub.com/casey/just/pull/2056))
- Fix output `\r\n` stripping
([#&#8203;2035](https://togithub.com/casey/just/pull/2035))

##### Misc

- Forbid whitespace in shell-expanded string prefixes
([#&#8203;2083](https://togithub.com/casey/just/pull/2083))
- Add Debian and Ubuntu install instructions to readme
([#&#8203;2072](https://togithub.com/casey/just/pull/2072))
- Remove snap installation instructions from readme
([#&#8203;2070](https://togithub.com/casey/just/pull/2070))
- Fallback to wget in install script if curl isn't
available([#&#8203;1913](https://togithub.com/casey/just/pull/1913) by
[tgross35](https://togithub.com/tgross35))
- Use std::io::IsTerminal instead of atty crate
([#&#8203;2066](https://togithub.com/casey/just/pull/2066))
- Improve `shell()` documentation
([#&#8203;2060](https://togithub.com/casey/just/pull/2060) by
[laniakea64](https://togithub.com/laniakea64))
- Add bash completion for snap
([#&#8203;2058](https://togithub.com/casey/just/pull/2058) by
[albertodonato](https://togithub.com/albertodonato))
- Refactor list subcommand
([#&#8203;2062](https://togithub.com/casey/just/pull/2062))
- Document working directory
([#&#8203;2053](https://togithub.com/casey/just/pull/2053))
- Replace FunctionContext with Evaluator
([#&#8203;2048](https://togithub.com/casey/just/pull/2048))
- Update clap to version 4
([#&#8203;1924](https://togithub.com/casey/just/pull/1924) by
[poliorcetics](https://togithub.com/poliorcetics))
- Cleanup ([#&#8203;2026](https://togithub.com/casey/just/pull/2026) by
[adamnemecek](https://togithub.com/adamnemecek))
- Increase --list maximum alignable width from 30 to 50
([#&#8203;2039](https://togithub.com/casey/just/pull/2039))
- Document using `env -S`
([#&#8203;2038](https://togithub.com/casey/just/pull/2038))
- Update line continuation documentation
([#&#8203;1998](https://togithub.com/casey/just/pull/1998) by
[laniakea64](https://togithub.com/laniakea64))
- Add example using GNU parallel to run tasks in concurrently
([#&#8203;1915](https://togithub.com/casey/just/pull/1915) by
[amarao](https://togithub.com/amarao))
- Placate clippy: use `clone_into`
([#&#8203;2037](https://togithub.com/casey/just/pull/2037))
- Use --command-color when printing shebang recipe commands
([#&#8203;1911](https://togithub.com/casey/just/pull/1911) by
[avi-cenna](https://togithub.com/avi-cenna))
- Document how to use watchexec to re-run recipes when files change
([#&#8203;2036](https://togithub.com/casey/just/pull/2036))
- Update VS Code extensions in readme
([#&#8203;2034](https://togithub.com/casey/just/pull/2034))
- Add rust:just repology package table to readme
([#&#8203;2032](https://togithub.com/casey/just/pull/2032))

</details>

<details>
<summary>charmbracelet/gum (charmbracelet/gum)</summary>

###
[`v0.14.1`](https://togithub.com/charmbracelet/gum/releases/tag/v0.14.1)

[Compare
Source](https://togithub.com/charmbracelet/gum/compare/v0.14.0...v0.14.1)

#### What's Changed

- Show help with Huh? by
[@&#8203;maaslalani](https://togithub.com/maaslalani) in
[charmbracelet/gum#587
- Support using the Home/End keys in pager by
[@&#8203;lzm0](https://togithub.com/lzm0) in
[charmbracelet/gum#548

##### Fixes

- Handle `huh?` user aborted error by
[@&#8203;MikaelFangel](https://togithub.com/MikaelFangel) in
[charmbracelet/gum#578
- Cursor styling by
[@&#8203;MikaelFangel](https://togithub.com/MikaelFangel) in
[charmbracelet/gum#592
- Re-introduce <kbd>ESC</kbd> for `gum write` by
[@&#8203;MikaelFangel](https://togithub.com/MikaelFangel) in
[charmbracelet/gum#579

#### New Contributors

- [@&#8203;CodeZea1ot](https://togithub.com/CodeZea1ot) made their first
contribution in
[charmbracelet/gum#542
- [@&#8203;camcui](https://togithub.com/camcui) made their first
contribution in
[charmbracelet/gum#537
- [@&#8203;lzm0](https://togithub.com/lzm0) made their first
contribution in
[charmbracelet/gum#548

**Full Changelog**:
charmbracelet/gum@v0.14.0...v0.14.1

***

<a href="https://charm.sh/"><img alt="The Charm logo"
src="https://stuff.charm.sh/charm-badge.jpg" width="400"></a>

Thoughts? Questions? We love hearing from you. Feel free to reach out on
[Twitter](https://twitter.com/charmcli), [The
Fediverse](https://mastodon.technology/@&#8203;charm), or
[Slack](https://charm.sh/slack).

</details>

<details>
<summary>cli/cli (cli/cli)</summary>

### [`v2.50.0`](https://togithub.com/cli/cli/releases/tag/v2.50.0):
GitHub CLI 2.50.0

[Compare Source](https://togithub.com/cli/cli/compare/v2.49.2...v2.50.0)

#### What's Changed

- Refactor git credential flow code by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9089
- feat: add json output for `gh pr checks` by
[@&#8203;nobe4](https://togithub.com/nobe4) in
[cli/cli#9079
- Rework first auth tests with new gitcredential abstractions by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9095
- list the various alias permutations for the command and subcommands,
via '--help' and 'gh reference' by
[@&#8203;gabemontero](https://togithub.com/gabemontero) in
[cli/cli#8824
- Removed tty message when checking for extension upgrades by
[@&#8203;leevic31](https://togithub.com/leevic31) in
[cli/cli#9088
- Fix doc bug for gh run watch by
[@&#8203;jasonodonnell](https://togithub.com/jasonodonnell) in
[cli/cli#9052
- feat: add support for stateReason in `gh pr view` by
[@&#8203;nobe4](https://togithub.com/nobe4) in
[cli/cli#9080
- fix: rename the `Attempts` field to `Attempt`; expose in `gh run view`
and `gh run ls` by [@&#8203;cawfeecake](https://togithub.com/cawfeecake)
in
[cli/cli#8905
- Update regex in changedFilesNames to handle quoted paths by
[@&#8203;anda3](https://togithub.com/anda3) in
[cli/cli#9115
- Add a `gh variable get FOO` command by
[@&#8203;arnested](https://togithub.com/arnested) in
[cli/cli#9106
- Add macOS pkg installer to deployment
([#&#8203;7554](https://togithub.com/cli/cli/issues/7554)) by
[@&#8203;paulober](https://togithub.com/paulober) in
[cli/cli#7555
- Add integration tests for `gh attestation verify` shared workflow use
case by [@&#8203;malancas](https://togithub.com/malancas) in
[cli/cli#9107
- Add build provenance for gh CLI releases by
[@&#8203;malancas](https://togithub.com/malancas) in
[cli/cli#9087
- build(deps): bump github.com/gabriel-vasile/mimetype from 1.4.3 to
1.4.4 by [@&#8203;dependabot](https://togithub.com/dependabot) in
[cli/cli#9124
- Build completions during release on macos by
[@&#8203;williammartin](https://togithub.com/williammartin) in
[cli/cli#9136
- Clarify Mac OS Installer packages are unsigned by
[@&#8203;andyfeller](https://togithub.com/andyfeller) in
[cli/cli#9140

#### New Contributors

- [@&#8203;gabemontero](https://togithub.com/gabemontero) made their
first contribution in
[cli/cli#8824
- [@&#8203;jasonodonnell](https://togithub.com/jasonodonnell) made their
first contribution in
[cli/cli#9052
- [@&#8203;anda3](https://togithub.com/anda3) made their first
contribution in
[cli/cli#9115
- [@&#8203;arnested](https://togithub.com/arnested) made their first
contribution in
[cli/cli#9106
- [@&#8203;paulober](https://togithub.com/paulober) made their first
contribution in
[cli/cli#7555

**Full Changelog**: cli/cli@v2.49.2...v2.50.0

</details>

<details>
<summary>dagger/dagger (dagger/dagger)</summary>

###
[`v0.11.6`](https://togithub.com/dagger/dagger/blob/HEAD/CHANGELOG.md#v0116---2024-05-30)

[Compare
Source](https://togithub.com/dagger/dagger/compare/v0.11.5...v0.11.6)

##### Added

- Add `withName` method to File by
[@&#8203;TomChv](https://togithub.com/TomChv) in
[dagger/dagger#7491

##### Fixed

- cli: don't validate flags when requesting `--help` by
[@&#8203;helderco](https://togithub.com/helderco) in
[dagger/dagger#7417
- fix container init being wrong platform in arm image by
[@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7497
- fix container DNS resolution when host has no search domains by
[@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7501
- honor system proxy config during git operations by
[@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7504
- fix windows-style paths used as file+directory arg values in dagger
call by [@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7506

##### What to do next?

-   Read the [documentation](https://docs.dagger.io)
-   Join our [Discord server](https://discord.gg/dagger-io)
-   Follow us on [Twitter](https://twitter.com/dagger_io)

###
[`v0.11.5`](https://togithub.com/dagger/dagger/blob/HEAD/CHANGELOG.md#v0115---2024-05-27)

[Compare
Source](https://togithub.com/dagger/dagger/compare/v0.11.4...v0.11.5)

##### Added

- cli: `dagger login` cloud traces support by
[@&#8203;aluzzardi](https://togithub.com/aluzzardi) in
[dagger/dagger#7125
- cli: improved `--progress=plain` implementation for better visibility
by [@&#8203;jedevc](https://togithub.com/jedevc) in
[dagger/dagger#7272

##### Changed

- cli: cleaner tty progress view by
[@&#8203;jedevc](https://togithub.com/jedevc) in
[dagger/dagger#7347
[dagger/dagger#7371
[dagger/dagger#7386
- cli: don't show functions that can't be called by
[@&#8203;helderco](https://togithub.com/helderco) in
[dagger/dagger#7418
- cli: don't show inherited flags in function commands by
[@&#8203;helderco](https://togithub.com/helderco) in
[dagger/dagger#7419
- core: remove shim and switch to
[dumb-init](https://togithub.com/Yelp/dumb-init) by
[@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7367

##### Fixed

- core: fixed custom CA certs in modules by
[@&#8203;sipsma](https://togithub.com/sipsma) in
[dagger/dagger#7356
- cli: don't validate flags when requesting `--help` by
[@&#8203;helderco](https://togithub.com/helderco) in
[dagger/dagger#7417

##### What to do next?

-   Read the [documentation](https://docs.dagger.io)
-   Join our [Discord server](https://discord.gg/dagger-io)
-   Follow us on [Twitter](https://twitter.com/dagger_io)

</details>

<details>
<summary>dprint/dprint (dprint/dprint)</summary>

### [`v0.46.1`](https://togithub.com/dprint/dprint/releases/tag/0.46.1)

[Compare
Source](https://togithub.com/dprint/dprint/compare/0.46.0...0.46.1)

#### Changes

- fix: dprint 0.46 release for `cargo install` without `--locked` flag
([#&#8203;852](https://togithub.com/dprint/dprint/issues/852))
- fix: upgrade to rustls 0.23.8
([#&#8203;853](https://togithub.com/dprint/dprint/issues/853))

Please run `dprint config update` after upgrading as some BOM handling
happens in the plugins now and some may fail to parse files with a BOM
now. See [#&#8203;854](https://togithub.com/dprint/dprint/issues/854)
and sorry for any headaches (I'm unsure of the impact of this change, so
let me know if this is a huge hassle for you).

#### Install

Run `dprint upgrade` or see https://dprint.dev/install/

#### Checksums

|Artifact|SHA-256 Checksum|
|:--|:--|

|dprint-x86\_64-apple-darwin.zip|cdea84bce1d84c26e8eced2265d246b79a849ec2e7d1377d98dd7bdb21c7ce83|

|dprint-aarch64-apple-darwin.zip|f3ff4faef83d14c3b4ae262e79a40d4e0fc3fa1903d0b6e9b82f0b25b00e9499|

|dprint-x86\_64-pc-windows-msvc.zip|74e5ab38c744d5903862c2b5174d0fef9759b5506da775e1fb93b6a68c63101d|

|dprint-x86\_64-pc-windows-msvc-installer.exe|107786c41be76b49463a50d7d9d788397bba723e107e723347f8e8dde65339dc|

|dprint-x86\_64-unknown-linux-gnu.zip|cb72fa6b474e2847a3cf5705b43ee2cbfdafddd7c69ff162309fd1f4f43c872a|

|dprint-x86\_64-unknown-linux-musl.zip|4a7d6fa6b920ab150f580965556086cdd7992e07078e627ab9a9d1c3bd30ba85|

|dprint-aarch64-unknown-linux-gnu.zip|c4e892d5d237a57ede7900255e5ce669b56160e61c89798c118fbd4c36d48ff2|

|dprint-aarch64-unknown-linux-musl.zip|e2b6d87167d21f1f01571790e79526ef9caff3b8b75f5cac348c4f06f60a8c16|

### [`v0.46.0`](https://togithub.com/dprint/dprint/releases/tag/0.46.0)

[Compare
Source](https://togithub.com/dprint/dprint/compare/0.45.1...0.46.0)

##### Changes

- feat: gitignore support
([#&#8203;832](https://togithub.com/dprint/dprint/issues/832))
- feat: `DPRINT_TLS_CA_STORE` and `DPRINT_CERT`
([#&#8203;850](https://togithub.com/dprint/dprint/issues/850))
- fix: remove BOM handling from the CLI
([#&#8203;844](https://togithub.com/dprint/dprint/issues/844))

Please run `dprint config update` after upgrading as some BOM handling
happens in the plugins now and some may fail to parse files with a BOM
now. See [#&#8203;854](https://togithub.com/dprint/dprint/issues/854)
and sorry for any headaches (I'm unsure of the impact of this change, so
let me know if this is a huge hassle for you).

##### Install

Run `dprint upgrade` or see https://dprint.dev/install/

##### Checksums

|Artifact|SHA-256 Checksum|
|:--|:--|

|dprint-x86\_64-apple-darwin.zip|e339f1f891c60087676d72f70ba5f80dcaedde4bdc58730b9cb68a5483b3abfd|

|dprint-aarch64-apple-darwin.zip|4b608b3676f10e04328c3d8be396bded96328ebca9b95b70bf5baf67bed7b135|

|dprint-x86\_64-pc-windows-msvc.zip|786201545938f6f7c6d407e6404b31ae9bbf9e5a4abc4c88dc9bd73da369a906|

|dprint-x86\_64-pc-windows-msvc-installer.exe|e445b37af124e5d8ef691685632509d2bfc701962c58db89eebc8a8de7352ab4|

|dprint-x86\_64-unknown-linux-gnu.zip|8274ea44d2ab4d10b8bdfcc824d946a6d051594aede49c9db8c5e810887abd67|

|dprint-x86\_64-unknown-linux-musl.zip|7a2c12edc868259be890174c4ec3bd51c81ec8773aa294e12fac0634f36d15f5|

|dprint-aarch64-unknown-linux-gnu.zip|6617465acba53c9b939e73f20538a8027e45593342c34f7ac4826c9f4e6cf53b|

|dprint-aarch64-unknown-linux-musl.zip|e52c0a3398e34e88ffe560e719bf8361ba3f35b4e0927ab9ba0761796884ce24|

</details>

<details>
<summary>fujiwara/awslim (fujiwara/awslim)</summary>

### [`v0.1.2`](https://togithub.com/fujiwara/awslim/releases/tag/v0.1.2)

[Compare
Source](https://togithub.com/fujiwara/awslim/compare/v0.1.1...v0.1.2)

#### What's Changed

- feature: Add suport for building with specified OS/Arch by
[@&#8203;ToshihitoKon](https://togithub.com/ToshihitoKon) in
[fujiwara/awslim#20
- merge [#&#8203;20](https://togithub.com/fujiwara/awslim/issues/20)
into main by [@&#8203;fujiwara](https://togithub.com/fujiwara) in
[fujiwara/awslim#21

#### New Contributors

- [@&#8203;ToshihitoKon](https://togithub.com/ToshihitoKon) made their
first contribution in
[fujiwara/awslim#20

**Full Changelog**:
fujiwara/awslim@v0.1.1...v0.1.2

</details>

<details>
<summary>golangci/golangci-lint (golangci/golangci-lint)</summary>

###
[`v1.59.0`](https://togithub.com/golangci/golangci-lint/compare/v1.58.2...v1.59.0)

[Compare
Source](https://togithub.com/golangci/golangci-lint/compare/v1.58.2...v1.59.0)

</details>

<details>
<summary>simulot/immich-go (simulot/immich-go)</summary>

###
[`v0.15.0`](https://togithub.com/simulot/immich-go/releases/tag/0.15.0)

[Compare
Source](https://togithub.com/simulot/immich-go/compare/0.14.1...0.15.0)

##### fix
[#&#8203;255](https://togithub.com/simulot/immich-go/issues/255) Last
percents of google puzzle solving are very slow when processing very
large takeout archive

The google puzzle solving is now much faster for large takeout archives.

##### fix
[#&#8203;215](https://togithub.com/simulot/immich-go/issues/215) Use
XDG_CONFIG_HOME for storing config

The configuration file that contains the server and the key is now
stored by default in following folder:

-   Linux `$HOME/.config/immich-go/immich-go.json`
-   Windows `%AppData%\immich-go\immich-go.json`
-   Apple `$HOME/Library/Application Support/immich-go/immich-go.json`

##### Store the log files into sensible dir for user's system

The default log file is:

-   Linux `$HOME/.cache/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log`
-   Windows `%LocalAppData%\immich-go\immich-go_YYYY-MM-DD_HH-MI-SS.log`
- Apple
`$HOME/Library/Caches/immich-go/immich-go_YYYY-MM-DD_HH-MI-SS.log`

##### Feat:
\[[#&#8203;249](https://togithub.com/simulot/immich-go/issues/249)] Fix
Display the path of log file name

The log file name is printed when the program exits.

#### Changelog

- [`87471f6`](https://togithub.com/simulot/immich-go/commit/87471f6)
Edit releases.md
- [`d4269ee`](https://togithub.com/simulot/immich-go/commit/d4269ee) Fix
Display the path of log file name
([#&#8203;251](https://togithub.com/simulot/immich-go/issues/251))
- [`49bf673`](https://togithub.com/simulot/immich-go/commit/49bf673) Fix
Display the path of log file name
([#&#8203;256](https://togithub.com/simulot/immich-go/issues/256))
- [`73fde8d`](https://togithub.com/simulot/immich-go/commit/73fde8d)
Fixes [#&#8203;255](https://togithub.com/simulot/immich-go/issues/255)
- [`9b70932`](https://togithub.com/simulot/immich-go/commit/9b70932)
Merge branch 'main' into simulot/issue215
- [`734bbeb`](https://togithub.com/simulot/immich-go/commit/734bbeb)
Merge pull request
[#&#8203;257](https://togithub.com/simulot/immich-go/issues/257) from
simulot:simulot/issue255
- [`8805ca7`](https://togithub.com/simulot/immich-go/commit/8805ca7)
Merge pull request
[#&#8203;258](https://togithub.com/simulot/immich-go/issues/258) from
simulot:simulot/issue215
- [`c63dc09`](https://togithub.com/simulot/immich-go/commit/c63dc09)
Merge pull request
[#&#8203;260](https://togithub.com/simulot/immich-go/issues/260) from
simulot:simulot/issue259
- [`e4d1643`](https://togithub.com/simulot/immich-go/commit/e4d1643) Set
a timeout for all http queries
([#&#8203;253](https://togithub.com/simulot/immich-go/issues/253))
- [`f968bd6`](https://togithub.com/simulot/immich-go/commit/f968bd6) The
log doesn't show discared files Fixes
[#&#8203;259](https://togithub.com/simulot/immich-go/issues/259)
- [`37f4b83`](https://togithub.com/simulot/immich-go/commit/37f4b83) Use
XDG_CONFIG_HOME for storing config
([#&#8203;248](https://togithub.com/simulot/immich-go/issues/248))
- [`755e1b7`](https://togithub.com/simulot/immich-go/commit/755e1b7) Use
XDG_CONFIG_HOME for storing config Fixes
[#&#8203;215](https://togithub.com/simulot/immich-go/issues/215)

</details>

<details>
<summary>snyk/cli (snyk/cli)</summary>

### [`v1.1291.1`](https://togithub.com/snyk/cli/releases/tag/v1.1291.1)

[Compare
Source](https://togithub.com/snyk/cli/compare/v1.1291.0...v1.1291.1)

The Snyk CLI is being deployed to different deployment channels, users
can select the stability level according to their needs. For details
please see [this
documentation](https://docs.snyk.io/snyk-cli/releases-and-channels-for-the-snyk-cli)

##### Bug Fixes

- **dependencies:** Upgrade go-getter to v1.7.4 to fix vulnerabilities
([#&#8203;5252](https://togithub.com/snyk/snyk/issues/5252))

</details>

<details>
<summary>twpayne/chezmoi (twpayne/chezmoi)</summary>

###
[`v2.48.2`](https://togithub.com/twpayne/chezmoi/compare/v2.48.1...v2.48.2)

[Compare
Source](https://togithub.com/twpayne/chezmoi/compare/v2.48.1...v2.48.2)

</details>

<details>
<summary>weaveworks/eksctl (weaveworks/eksctl)</summary>

###
[`v0.180.0`](https://togithub.com/eksctl-io/eksctl/releases/tag/v0.180.0):
eksctl 0.180.0

[Compare
Source](https://togithub.com/weaveworks/eksctl/compare/0.179.0-rc.0...0.180.0)

### Release v0.180.0

#### 🐛 Bug Fixes

- Add option to create service account for pod identities which defaults
to `false`
([#&#8203;7784](https://togithub.com/weaveworks/eksctl/issues/7784))

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 4pm on thursday" in timezone
America/Los_Angeles, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/scottames/dots).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNzcuOCIsInVwZGF0ZWRJblZlciI6IjM3LjM3Ny44IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJkZXBlbmRlbmNpZXMiXX0=-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: scottames-github-bot[bot] <162828115+scottames-github-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
external pull request originating outside of the CLI core team
Projects
No open projects
The GitHub CLI
  
Needs review 🤔
Development

Successfully merging this pull request may close these issues.

Add gh variable get command
3 participants