-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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 headers to all tables #8157
Conversation
/cc @samcoe |
Adding @samcoe as a reviewer since this has a far larger breadth than I am comfortable giving a stamp for. I'll do a review regardless to ensure I'm learning though. |
There was a problem hiding this 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 taking on this task @heaths. I especially appreciate being able to easily look through all the test updates.
I only have one real concern about this and that's the runtime error. I think it makes sense to try and enforce headers going forward but I think I'd rather lean on a compile time enforcement where possible. I don't have much experience with the table printing, so I hold this opinion lightly.
I created a commit that requires maintainers on construction of the table to provide headers (or explicitly opt out in some cases, as you have allowed for in your PR). It's pretty gross since it had to touch every tableprinter instantiation but you should get the idea pretty quickly by looking for tableprinter.WithHeaders
and tableprinter.NoHeader
. Because go has nil
there's no way to prevent nil
being passed but at least you really, really have to be intentional about doing that.
In one case I also moved some code around to see whether enforcement at instantiation time had any effects on pushing conditionals "up the stack". Jury is out. It's not that important.
In some other cases this forced instantiation of the tableprinter to be next to its usage point, since it could no longer be injected without headers. I consider this a positive. It makes it clear that nothing else is happening with the table printer which is easier to hold in the head.
Let me know your thoughts, cheers.
That's still optional, though. The idea is to force it unless NoHeaders was passed, which should require additional scrutiny in subsequent PRs. I added that late because in a couple places like If there was an easy way to add linters in a repo, I'd be all for it. The hope here was that it'd fail tests, since tests should be added for new code. |
Maybe instead, headers could be required and have a new constructor that creates it without headers - without using the WithOptions pattern. |
I think you're actually kind of describing the same goal with this? I'm not using the variadic form of the functional options pattern so it's not possible to opt out unintentionally. I would expect |
Initially the signature was The ability to distinguish between |
I've been looking through some linters in I admit I originally planned to remove that assert - and still will if you all want me to, of course - but as I built atop it, it seemed like a good way to catch issues at test time. I love Go - I actually prefer it over Rust, when it comes to native languages, for productivity (but not for wasm/wasi) - but there are times I miss some of the expressiveness of other languages e.g., Rust, C#, or even C/C++ with SAL annotations for cases like this. |
I would trade many things for Rust enums |
That is one of the things I like most about Rust, for sure! My day job is mostly C# (though I contribute to several other languages, most notably our Go SDKs) and there's been discussions about adding unions for a couple language versions now. In the Azure SDK, I spearheaded an alternative that mostly meets our needs, but still barely holds a candle to Rust enums. |
Talking with a colleague of mine on the Azure SDK for Go team over lunch, he had an idea that might look better. Ultimately, I'd prefer a sentinel value that is more obvious to reviewers - whether they are intimately familiar with the package main
import "fmt"
func main() {
print(Headers{[]string{"foo", "bar"}})
print(Headers{})
}
type Headers struct {
columns []string
}
func print(headers Headers) {
if len(headers.columns) == 0 {
fmt.Println("No headers")
return
}
for _, header := range headers.columns {
fmt.Printf("%s\t", header)
}
fmt.Println()
} A type declaration of |
I've used forbidigo in past to prevent certain patterns (which may or may not work here). If we went down the dual constructor route then we could mark one deprecated with I like your proposed approach with I have a maybe crazy idea! I know it's usually not idiomatic to return private types from functions because it can constrain the ability to use the type. However, in this case, that's exactly what we're trying to do. Take a gander at this: type headers struct {
columns []string
}
var NoHeaders = headers{}
func WithHeaders(columns ...string) headers {
return headers{columns: columns}
}
func New(ios *iostreams.IOStreams , h headers) ... Now the only "bad route" is to do ConclusionHonestly I think that any of the last few compile (with optional linting help) solutions seem reasonable to me and I'm happy to move forward with any of them and stop dreaming up crazy ideas. I did quite a bit of grunt work in my PR moving all the |
I like that approach better. It's like the WithOptions pattern, but requires one. If necessary, WithOptions could be added at some future date in a more "proper" fashion using a different type. This isn't without precedent either. That said, there's still the open question of whether I should update |
To note, I tried to be consistent with headers if a precedent existed that I knew of or could otherwise find. |
Here is how that could work, whether we add underlining to the headers or not: ![]() Sure enough, if I check the output, only the header row is padded, if there is a header row at all. If we go this route, I'd also add tests to ensure that whether returning a /cc @samcoe EDIT: The thumbnail is hiding the underlines. Click to open the image for a clearer view. |
There's a lot to think about here. I personally don't have a lot of opinion on the colour or bolding of the headers as long as we have some way for it to work with varied background colours. With regards the underlines, I'm interested to know what screenreaders make of it (I'll have to try it later). With regards to underlines looking strange on columns that have no headers: maybe they should for accessibility reasons anyway? I understand that table output isn't the best for screenreader but I'm sure it's better to have some description of what could be found below rather than nothing. |
Using the indexed (16) colors should be good in all cases. Those colors can be remapped, unlike 256 or truecolors, AFAIK. And people will often do that. I remember when Windows added that feature many years back. Comments were like, "about time" and "linux already had that", etc. Any suggestions for what's next? This touches a lot of files, and I'd love to not have to keep rebasing this PR. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@heaths Thanks for laying out the various options. My vote is to stick with black+b
. I think the underline looks nice but has too many open questions around accessibility and we would need to do a thorough testing before I would be comfortable merging something like that.
I left a couple of comments, I think this is real close.
pkg/cmd/gist/list/list.go
Outdated
|
||
//nolint:staticcheck // SA1019: utils.NewTablePrinter is deprecated: use internal/tableprinter | ||
tp := utils.NewTablePrinter(opts.IO) | ||
tp := tableprinter.New(opts.IO, tableprinter.WithHeaders("ID", "DESCRIPTION", "FILES", "", "UPDATED")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is the reason for not adding "VISIBILITY" header here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I could - and did originally - but "VISIBILITY" is 10 characters while "public" and "private" are only 6 and 7 characters, respectively. Then column becomes longer. I considered truncation, but arbitrary truncation may not be ideal e.g. would you want to see just "VISIBIL" or, worse, "VISIBI…"? I left the project
subcommand headers as-is, but figured in a few places that may no header for obvious values was better than longer-than-necessary columns truncating e.g., description fields more compared to previously.
Alternatively, maybe a new tableprinter
function to use a long or predefined short name (default to truncation like is done now) e.g., "VISIBILITY|VIS" such that "VISIBILITY" is shown if it'll fit; otherwise, "VIS" would show.
Or, if you don't care about columns being wider than they were before, I can easily find the places where columns don't have headers and add them in.
With the dependent changes in cli/go-gh#139, I think the underlining really sets it apart (before and after pic): That said, it's a style not characters so I would think accessibility wouldn't be a problem. When I tried it on Windows Narrator, the underlines nor spaces were announced. If narrators announced colors, any modern terminal would probably be hard to understand with color CLIs, TUIs, etc. If you still don't want them, should we even take the changes in cli/go-gh#139? Customized control over padding can be useful for other things like centering columns. PS: A made a couple comments on the other issue because I didn't see notification that you actually did review this. Not sure why. Maybe I dismissed an unread notification by accident. Sorry if any comments came off as impatient as a result. |
BTW, I rebased locally on upstream/trunk and getting a ton of linter errors with golangci-lint e.g.,
|
Resolves cli#8090
Require headerOption when constructing tableprinter.TablePrinter. Panic if headers are nil or empty - expected to be caught in tests.
Applies consistent table header with underline spanning entire column width.
@heaths Good news, the team decided to move forward with the underlined headers that you presented. We definitely agree that they look great, and hope you understand our hesitancy with the change. We did more investigation today and felt that the underline experience was no different than without them from an accessibility perspective. I went ahead and rebased the PR against latest trunk. Additionally, I pulled in the latest I think there is one last thing I want to get into this and that is protection from truncating the first column and columns displaying URLs. This is something that was automatically handled by our previous After this another thing I would like to see cleaned up is the use of non-standard time fields which we use in a couple places throughout the codebase, I think that potentially some of those might be breaking changes so I left them out of this PR. We appreciate the maximum effort here! I will take this over the finish line. Please let me know if you have any thoughts/questions. EDIT: |
@samcoe You want me to make those changes? I did update the PR to add the URL check back into places where URLs seemed possible (for most fields, it's not e.g., fixed status enums, branch names, repo names, etc.) but doing so automatically might be better, sure. Handling the first column also isn't that hard.
Are you talking about the |
pkg/iostreams/color.go
Outdated
blue = ansi.ColorFunc("blue") | ||
green = ansi.ColorFunc("green") | ||
gray = ansi.ColorFunc("black+h") | ||
grayUnderline = ansi.ColorFunc("white+du") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: @samcoe would you want to call this lightGrayUnderline
? It's slightly lighter than gray
(depending on terminal color mappings). That's why I decided to originally call the style TableHeader
(not complaining you changed it, mind you): it's the obvious style for a table header and doesn't get too specific about the colors.
A few styles are called / include "gray" here and are all slightly different colors.
To note, I choose "white+du" over "black+hu" or "black+bu" because it was slightly different than gray that's used for various columns e.g. dates. Not hugely noticeable - at least not with Windows Terminal's default color mappings - and maybe unnecessary now that we have the underlines.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's a good point, will make that change before merging.
@heaths Sorry that was not clear, I am not asking for or expecting that follow up from you. I just wanted to lay out my vision for future work. Yeah I am talking about replacing all cases of: tp.AddField(text.FuzzyAgoAbbr(time.Now(), sometime), tableprinter.WithColor(cs.Gray)) with tp.AddTimeField(time.Now(), sometime, cs.Gray) The TTY output change is not breaking, but in the places where |
[![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.75.0` -> `v4.79.0` | | [bitnami-labs/sealed-secrets](https://togithub.com/bitnami-labs/sealed-secrets) | patch | `v0.24.2` -> `v0.24.3` | | [cli/cli](https://togithub.com/cli/cli) | minor | `v2.37.0` -> `v2.38.0` | | [golangci/golangci-lint](https://togithub.com/golangci/golangci-lint) | patch | `v1.55.1` -> `v1.55.2` | | [kevincobain2000/gobrew](https://togithub.com/kevincobain2000/gobrew) | patch | `1.9.3` -> `v1.9.6` | | [nektos/act](https://togithub.com/nektos/act) | patch | `v0.2.52` -> `v0.2.53` | | [twpayne/chezmoi](https://togithub.com/twpayne/chezmoi) | patch | `v2.40.3` -> `v2.40.4` | --- ### Release Notes <details> <summary>aquaproj/aqua-registry (aquaproj/aqua-registry)</summary> ### [`v4.79.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.79.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.78.0...v4.79.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.79.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.79.0) | aquaproj/aqua-registry@v4.78.0...v4.79.0 #### 🎉 New Packages [#​16956](https://togithub.com/aquaproj/aqua-registry/issues/16956) [#​16958](https://togithub.com/aquaproj/aqua-registry/issues/16958) [crates.io/tailspin](https://crates.io/crates/tailspin): A log file highlighter [#​16920](https://togithub.com/aquaproj/aqua-registry/issues/16920) [int128/cronjob-runner](https://togithub.com/int128/cronjob-runner): A command to run one-shot job from CronJob template and tail container logs in Kubernetes #### Fixes [#​16961](https://togithub.com/aquaproj/aqua-registry/issues/16961) Boeing/config-file-validator: Follow up changes of validator v1.5.0 [#​16964](https://togithub.com/aquaproj/aqua-registry/issues/16964) kptdev/kpt: Rename GoogleContainerTools/kpt and exclude versions with the prefix `porch/` https://github.com/GoogleContainerTools/kpt is redirected to https://github.com/kptdev/kpt [#​16965](https://togithub.com/aquaproj/aqua-registry/issues/16965) bitnami-labs/sealed-secrets: Exclude versions with the prefix `helm-` ### [`v4.78.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.78.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.77.0...v4.78.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.78.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.78.0) | aquaproj/aqua-registry@v4.77.0...v4.78.0 #### 🎉 New Packages [#​16835](https://togithub.com/aquaproj/aqua-registry/issues/16835) [manabusakai/tdtidy](https://togithub.com/manabusakai/tdtidy): A command line tool for managing ECS task definitions. `tdtidy` can deregister and delete old task definitions [@​ponkio-o](https://togithub.com/ponkio-o) #### Fixes [#​16916](https://togithub.com/aquaproj/aqua-registry/issues/16916) deepmap/oapi-codegen: Support oapi-codegen v2 [#​16913](https://togithub.com/aquaproj/aqua-registry/issues/16913) hktalent/scan4all: Follow up changes of scan4all 2.8.6 Asset names were changed. GhostTroops/scan4all@40d6c24 ### [`v4.77.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.77.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.76.0...v4.77.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.77.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.77.0) | aquaproj/aqua-registry@v4.76.0...v4.77.0 #### 🎉 Reached 1,300 packages 🎉 Thank you, all contributors! #### 🎉 New Packages [#​16765](https://togithub.com/aquaproj/aqua-registry/issues/16765) [traefik/yaegi](https://togithub.com/traefik/yaegi): Yaegi is Another Elegant Go Interpreter [#​16755](https://togithub.com/aquaproj/aqua-registry/issues/16755) [#​16756](https://togithub.com/aquaproj/aqua-registry/issues/16756) [xeol-io/xeol](https://togithub.com/xeol-io/xeol): A scanner for end-of-life (EOL) software in container images, filesystems, and SBOMs ### [`v4.76.0`](https://togithub.com/aquaproj/aqua-registry/releases/tag/v4.76.0) [Compare Source](https://togithub.com/aquaproj/aqua-registry/compare/v4.75.0...v4.76.0) [Issues](https://togithub.com/aquaproj/aqua-registry/issues?q=is%3Aissue+milestone%3Av4.76.0) | [Pull Requests](https://togithub.com/aquaproj/aqua-registry/pulls?q=is%3Apr+milestone%3Av4.76.0) | aquaproj/aqua-registry@v4.75.0...v4.76.0 #### 🎉 New Packages [#​16680](https://togithub.com/aquaproj/aqua-registry/issues/16680) [astral-sh/ruff](https://togithub.com/astral-sh/ruff): An extremely fast Python linter and code formatter, written in Rust #### Fixes [#​16749](https://togithub.com/aquaproj/aqua-registry/issues/16749) mozilla/sccache: Follow up changes of sccache v0.6.0 arch64-unknown-linux-musl got disabled. - [mozilla/sccache#1917 - https://github.com/mozilla/sccache/releases/tag/v0.6.0 [#​16750](https://togithub.com/aquaproj/aqua-registry/issues/16750) kastenhq/external-tools/k10tools: Fix settings [#​16751](https://togithub.com/aquaproj/aqua-registry/issues/16751) kastenhq/external-tools/k10multicluster: Fix settings [#​16752](https://togithub.com/aquaproj/aqua-registry/issues/16752) google/osv-scanner: Follow up an issue of osv-scanner v1.4.2 - [google/osv-scanner#611 </details> <details> <summary>bitnami-labs/sealed-secrets (bitnami-labs/sealed-secrets)</summary> ### [`v0.24.3`](https://togithub.com/bitnami-labs/sealed-secrets/blob/HEAD/RELEASE-NOTES.md#v0243) [Compare Source](https://togithub.com/bitnami-labs/sealed-secrets/compare/v0.24.2...v0.24.3) ##### Changelog - fix a bug that kept a sealed secret's generation and observedgeneration out of sync ([#​1360](https://togithub.com/bitnami-labs/sealed-secrets/pull/1360)) - fix: add pdb ([#​1340](https://togithub.com/bitnami-labs/sealed-secrets/pull/1340)) - Bump k8s.io/code-generator from 0.28.2 to 0.28.3 ([#​1358](https://togithub.com/bitnami-labs/sealed-secrets/pull/1340)) - Bump github.com/onsi/gomega from 1.28.1 to 1.29.0 ([#​1357](https://togithub.com/bitnami-labs/sealed-secrets/pull/1357)) - Bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 ([#​1353](https://togithub.com/bitnami-labs/sealed-secrets/pull/1353)) - Bump github.com/onsi/gomega from 1.28.0 to 1.28.1 ([#​1351](https://togithub.com/bitnami-labs/sealed-secrets/pull/1351)) - Bump k8s.io/client-go from 0.28.2 to 0.28.3 ([#​1350](https://togithub.com/bitnami-labs/sealed-secrets/pull/1350)) - Bump k8s.io/api from 0.28.2 to 0.28.3 ([#​1349](https://togithub.com/bitnami-labs/sealed-secrets/pull/1349)) - Bump github.com/google/go-cmp from 0.5.9 to 0.6.0 ([#​1348](https://togithub.com/bitnami-labs/sealed-secrets/pull/1348)) </details> <details> <summary>cli/cli (cli/cli)</summary> ### [`v2.38.0`](https://togithub.com/cli/cli/releases/tag/v2.38.0): GitHub CLI 2.38.0 [Compare Source](https://togithub.com/cli/cli/compare/v2.37.0...v2.38.0) #### Highlights - `extension install` no longer errors unhelpfully if the extension is already installed by [@​Delta456](https://togithub.com/Delta456) in [cli/cli#8211 - All tables now have headers by [@​heaths](https://togithub.com/heaths) in [cli/cli#8157 - `project` commands have a clearer error message when no owner can be resolved by [@​ffalor](https://togithub.com/ffalor) in [cli/cli#8235 - `workflow run` now presents a select for `choice` workflow input types by [@​adarshjhaa100](https://togithub.com/adarshjhaa100) in [cli/cli#8180 - `codespace create` no longer polls for additional codespace permissions unnecessarily by [@​dmgardiner25](https://togithub.com/dmgardiner25) in [cli/cli#8267 - `go install` now works with the removal of our crypto fork by [@​samcoe](https://togithub.com/samcoe) in [cli/cli#8204 #### Everything Else - Additional testing for config by [@​williammartin](https://togithub.com/williammartin) in [cli/cli#8213 - Bumped cpuguy83/go-md2man from 2.0.1 to 2.0.3 by [@​mikelolasagasti](https://togithub.com/mikelolasagasti) in [cli/cli#8209 - Bumped mattn/go-isatty from 0.0.19 to 0.0.20 by [@​dependabot](https://togithub.com/dependabot) in [cli/cli#8205 - Bumped google.golang.org/grpc from 1.53.0 to 1.56.3 by [@​dependabot](https://togithub.com/dependabot) in [cli/cli#8251 - Bumped creack/pty from 1.1.18 to 1.1.20 by [@​dependabot](https://togithub.com/dependabot) in [cli/cli#8265 - Provide default config to bumped `go-gh` by [@​samcoe](https://togithub.com/samcoe) in [cli/cli#8244 #### New Contributors - [@​mikelolasagasti](https://togithub.com/mikelolasagasti) made their first contribution in [cli/cli#8209 - [@​Delta456](https://togithub.com/Delta456) made their first contribution in [cli/cli#8211 - [@​adarshjhaa100](https://togithub.com/adarshjhaa100) made their first contribution in [cli/cli#8180 **Full Changelog**: cli/cli@v2.37.0...v2.38.0 </details> <details> <summary>golangci/golangci-lint (golangci/golangci-lint)</summary> ### [`v1.55.2`](https://togithub.com/golangci/golangci-lint/compare/v1.55.1...v1.55.2) [Compare Source](https://togithub.com/golangci/golangci-lint/compare/v1.55.1...v1.55.2) </details> <details> <summary>kevincobain2000/gobrew (kevincobain2000/gobrew)</summary> ### [`v1.9.6`](https://togithub.com/kevincobain2000/gobrew/releases/tag/v1.9.6) [Compare Source](https://togithub.com/kevincobain2000/gobrew/compare/v1.9.5...v1.9.6) #### Changelog - [`99135bd`](https://togithub.com/kevincobain2000/gobrew/commit/99135bd) Merge pull request [#​150](https://togithub.com/kevincobain2000/gobrew/issues/150) from kevincobain2000/feature/gobrew-mod-major - [`1dbbb5f`](https://togithub.com/kevincobain2000/gobrew/commit/1dbbb5f) README updated - [`5f566b0`](https://togithub.com/kevincobain2000/gobrew/commit/5f566b0) only support go.mod major versions ### [`v1.9.5`](https://togithub.com/kevincobain2000/gobrew/releases/tag/v1.9.5): - Interactive [Compare Source](https://togithub.com/kevincobain2000/gobrew/compare/v1.9.4...v1.9.5) #### Changelog - [`b612228`](https://togithub.com/kevincobain2000/gobrew/commit/b612228) Merge pull request [#​148](https://togithub.com/kevincobain2000/gobrew/issues/148) from kevincobain2000/feature/gobrew-bug - [`c6d7844`](https://togithub.com/kevincobain2000/gobrew/commit/c6d7844) oops - [`3f80b5a`](https://togithub.com/kevincobain2000/gobrew/commit/3f80b5a) oops bug ### [`v1.9.4`](https://togithub.com/kevincobain2000/gobrew/releases/tag/v1.9.4): - Interactive [Compare Source](https://togithub.com/kevincobain2000/gobrew/compare/1.9.3...v1.9.4) #### Changelog ![Screenshot 2023-11-01 at 17 59 11](https://togithub.com/kevincobain2000/gobrew/assets/629055/5ec75b5b-6fab-45da-82d4-5ad0203b2ac5) - [`ddb42bf`](https://togithub.com/kevincobain2000/gobrew/commit/ddb42bf) (CHANGE LOG) updated readme - [`94cd26a`](https://togithub.com/kevincobain2000/gobrew/commit/94cd26a) (ci) fix test - [`4003742`](https://togithub.com/kevincobain2000/gobrew/commit/4003742) (ut) skip one failing test for now - [`82dc507`](https://togithub.com/kevincobain2000/gobrew/commit/82dc507) (vup) go.mod to 1.21 - [`7d911bf`](https://togithub.com/kevincobain2000/gobrew/commit/7d911bf) Fixes [#​145](https://togithub.com/kevincobain2000/gobrew/issues/145) by adding interactivity - [`4aabed8`](https://togithub.com/kevincobain2000/gobrew/commit/4aabed8) Merge pull request [#​143](https://togithub.com/kevincobain2000/gobrew/issues/143) from lincolnthalles/powershell-install-script - [`defdbff`](https://togithub.com/kevincobain2000/gobrew/commit/defdbff) Merge pull request [#​144](https://togithub.com/kevincobain2000/gobrew/issues/144) from kevincobain2000/feature/ci-and-others - [`1859f1e`](https://togithub.com/kevincobain2000/gobrew/commit/1859f1e) Merge pull request [#​147](https://togithub.com/kevincobain2000/gobrew/issues/147) from kevincobain2000/feature/gobrew - [`d900ad5`](https://togithub.com/kevincobain2000/gobrew/commit/d900ad5) README updated - [`4c850a8`](https://togithub.com/kevincobain2000/gobrew/commit/4c850a8) Revert "(ci) fix test" - [`c18716e`](https://togithub.com/kevincobain2000/gobrew/commit/c18716e) Support when no current version - [`b48f97f`](https://togithub.com/kevincobain2000/gobrew/commit/b48f97f) Update README.md - [`dcd8063`](https://togithub.com/kevincobain2000/gobrew/commit/dcd8063) chore: add powershell install script - [`310b5a3`](https://togithub.com/kevincobain2000/gobrew/commit/310b5a3) chore: fix powershell script - [`01e22fa`](https://togithub.com/kevincobain2000/gobrew/commit/01e22fa) chore: fix powershell script - [`c6b0877`](https://togithub.com/kevincobain2000/gobrew/commit/c6b0877) chore: update powershell script - [`2ae12de`](https://togithub.com/kevincobain2000/gobrew/commit/2ae12de) chore: update powershell script - [`38a053e`](https://togithub.com/kevincobain2000/gobrew/commit/38a053e) getting version from go.mod may throw error when there is no go.mod file. check for file existance first, otherwise set to None - [`d39e076`](https://togithub.com/kevincobain2000/gobrew/commit/d39e076) redundant comment gone - [`ed6fb34`](https://togithub.com/kevincobain2000/gobrew/commit/ed6fb34) screenshot - [`f691f10`](https://togithub.com/kevincobain2000/gobrew/commit/f691f10) tests++ for interactive </details> <details> <summary>nektos/act (nektos/act)</summary> ### [`v0.2.53`](https://togithub.com/nektos/act/releases/tag/v0.2.53) [Compare Source](https://togithub.com/nektos/act/compare/v0.2.52...v0.2.53) #### Changelog ##### Bug fixes - [`7c7d80e`](https://togithub.com/nektos/act/commit/7c7d80e) fix: use actions/runner hashfiles in container ([#​1940](https://togithub.com/nektos/act/issues/1940)) ##### Other - [`1bb2ee7`](https://togithub.com/nektos/act/commit/1bb2ee7) chore: bump VERSION to 0.2.53 - [`84a4025`](https://togithub.com/nektos/act/commit/84a4025) build(deps): bump github.com/docker/docker ([#​2067](https://togithub.com/nektos/act/issues/2067)) - [`fb4f29f`](https://togithub.com/nektos/act/commit/fb4f29f) build(deps): bump github.com/creack/pty from 1.1.18 to 1.1.20 ([#​2068](https://togithub.com/nektos/act/issues/2068)) - [`3e5c629`](https://togithub.com/nektos/act/commit/3e5c629) build(deps): bump megalinter/megalinter from 7.4.0 to 7.5.0 ([#​2070](https://togithub.com/nektos/act/issues/2070)) - [`83bfbcd`](https://togithub.com/nektos/act/commit/83bfbcd) build(deps): bump go.etcd.io/bbolt from 1.3.7 to 1.3.8 ([#​2065](https://togithub.com/nektos/act/issues/2065)) - [`3d65b0f`](https://togithub.com/nektos/act/commit/3d65b0f) build(deps): bump github.com/docker/cli ([#​2069](https://togithub.com/nektos/act/issues/2069)) - [`854e3e9`](https://togithub.com/nektos/act/commit/854e3e9) build(deps): bump github.com/go-git/go-git/v5 from 5.9.0 to 5.10.0 ([#​2066](https://togithub.com/nektos/act/issues/2066)) - [`db71c41`](https://togithub.com/nektos/act/commit/db71c41) build(deps): bump github.com/mattn/go-isatty from 0.0.19 to 0.0.20 ([#​2059](https://togithub.com/nektos/act/issues/2059)) - [`db6e477`](https://togithub.com/nektos/act/commit/db6e477) build(deps): bump github.com/moby/buildkit from 0.12.2 to 0.12.3 ([#​2060](https://togithub.com/nektos/act/issues/2060)) - [`ceeb6c1`](https://togithub.com/nektos/act/commit/ceeb6c1) Add support for service containers ([#​1949](https://togithub.com/nektos/act/issues/1949)) - [`ace4cd4`](https://togithub.com/nektos/act/commit/ace4cd4) Fix float formatting ([#​2018](https://togithub.com/nektos/act/issues/2018)) - [`99067a9`](https://togithub.com/nektos/act/commit/99067a9) build(deps): bump golang.org/x/net from 0.15.0 to 0.17.0 ([#​2045](https://togithub.com/nektos/act/issues/2045)) - [`e7e158c`](https://togithub.com/nektos/act/commit/e7e158c) build(deps): bump github.com/docker/distribution ([#​2037](https://togithub.com/nektos/act/issues/2037)) - [`3c730d7`](https://togithub.com/nektos/act/commit/3c730d7) build(deps): bump golang.org/x/term from 0.12.0 to 0.13.0 ([#​2036](https://togithub.com/nektos/act/issues/2036)) - [`976df8b`](https://togithub.com/nektos/act/commit/976df8b) fix action_ref (composite action) ([#​2020](https://togithub.com/nektos/act/issues/2020)) - [`2f479ba`](https://togithub.com/nektos/act/commit/2f479ba) Fix image survey for large images ([#​2022](https://togithub.com/nektos/act/issues/2022)) - [`5718555`](https://togithub.com/nektos/act/commit/5718555) \[ Variables ] - Add missing documentation for repository variables ([#​2032](https://togithub.com/nektos/act/issues/2032)) </details> <details> <summary>twpayne/chezmoi (twpayne/chezmoi)</summary> ### [`v2.40.4`](https://togithub.com/twpayne/chezmoi/releases/tag/v2.40.4) [Compare Source](https://togithub.com/twpayne/chezmoi/compare/v2.40.3...v2.40.4) #### Changelog ##### Fixes - [`797e3cf`](https://togithub.com/twpayne/chezmoi/commit/797e3cf0f) fix: Make stdinIsATTY return false if --no-tty is passed </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:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMS41IiwidXBkYXRlZEluVmVyIjoiMzcuMzEuNSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Resolves #8090