Commit graph

8701 commits

Author SHA1 Message Date
Tyler McGoffin
018438088e Add missing git stubs to tests 2025-01-14 16:02:41 -08:00
Tyler McGoffin
48e2681017 Merge branch 'trunk' into find-pr-by-rev-parse-push
A recent refactor caused the API for ReadBranchConfig to change, resulting
in changes for its consumers. Additionally, there was a large refactor of
the tests associated with ReadBranchConfig and its consumers to gain
confidence in this refactor. This commit attempts to resolve the
conflicts between the refactor and this effort as well as massage the
changes introduced here to reflect the refactor.

The refactor PR can be found here: https://github.com/cli/cli/pull/10197

I'll note that there are still a few failing tests in status_test.go. I
haven't had a chance to fully grok while they are failing, yet, and
suspect that some insights from the original PR author may be helpful
here.

Full disclaimer: I haven't verified any of this is working locally yet.
My primary motivation is to get these new changes working together in a
manner that unblocks further iteration on this effort.

* trunk: (79 commits)
  Enhance help docs on ext upgrade notices
  chore: fix some function names in comment
  Expand docs on cleaning extension update dir
  Simplifying cleanExtensionUpdateDir logic
  Separate logic for checking updates
  Capture greater detail on updaterEnabled
  Restore old error functionality of prSelectorForCurrentBranch
  Change error handling on ReadBranchConfig to respect git Exit Codes
  fix: add back colon that I removed
  fix: actually read how MaxFunc work and simplify the code
  fix: padded display
  Collapse dryrun checks in ext bin upgrade
  Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14
  Rename test user in tests
  Change pr number in test
  Surface and handle error from ReadBranchConfig in parseCurrentBranch
  Directly stub headBranchConfig in Test_tryDetermineTrackingRef
  Refactor error handling in ReadBranchConfig to avoid panic
  Refine error handling of ReadBranchConfig
  Add test for empty BranchConfig in prSelectorForCurrentBranch
  ...
2025-01-13 20:38:00 -08:00
Tyler McGoffin
6fe21d8f52
Merge pull request #10197 from cli/jtmcg/remove-named-returns
Remove naked return values from `ReadBranchConfig` and `prSelectorForCurrentBranch`
2025-01-13 09:55:17 -08:00
Meredith Lancaster
112552fec1
Merge pull request #10185 from malancas/fetch-artifact-attestation-bundles-with-sas-url 2025-01-13 08:20:33 -07:00
Andy Feller
41e99b9eab
Merge pull request #9934 from cli/andyfeller/cli-cli-8183-timeout-pt2
Ensure extension update notices only notify once within 24 hours, provide ability to disable all extension update notices
2025-01-13 09:12:32 -05:00
Andy Feller
3ada5af872 Enhance help docs on ext upgrade notices
- update `gh help environment` to include that upgrade notices only happen when gh or extensions are executed
- update `gh ext --help` to include reference to upgrade notices and points to `gh help environment` for info on disabling
2025-01-13 08:41:10 -05:00
Andy Feller
8a2be52be0
Merge pull request #10225 from zhuhaicity/fix_func_name
chore: fix some function names in comment
2025-01-13 08:08:18 -05:00
zhuhaicity
13211af256 chore: fix some function names in comment
Signed-off-by: zhuhaicity <zhuhai@52it.net>
2025-01-12 15:07:04 +08:00
Andy Feller
0a1c9be656 Expand docs on cleaning extension update dir
This summarizes a conversation within cli/cli#9934 PR regarding how the new extension update directory metadata would affect gh if not cleaned up.
2025-01-10 14:57:10 -05:00
Andy Feller
97eb8a194e Simplifying cleanExtensionUpdateDir logic
This function was doing some unnecessary heavy lifting detecting if the directory being deleted actually existed when `os.RemoveAll()` would handle directories that exist or not.
2025-01-10 14:29:55 -05:00
Andy Feller
20062233c8 Separate logic for checking updates
During discussion in cli/cli#9934, we can to the conclusion that the logic around checking for core GitHub CLI updates would diverge from GitHub CLI
extension updates over time.  To that end, this commit splits that logic into a separate function with a new environment variable.
2025-01-10 14:16:46 -05:00
Andy Feller
1c32c986ec Capture greater detail on updaterEnabled
This commit expands the in-line docs around updaterEnabled package variable used to affect release checking.

Along with clarifying specific details discovered when talking with @williammartin, I'm also removing a useless local variable.
2025-01-10 13:55:16 -05:00
Tyler McGoffin
74cbd50d3f Restore old error functionality of prSelectorForCurrentBranch
Before this refactor, the errors emitted by ghrepo.FromURL and
rem.FindName() were suppressed. It isn't clear whether this was
intentional or not, but we've made the decision here to maintain the
original error behavior while still refactoring the return values for more
clarity. I've left a comment at each error handling block to explain this
decision.

Additionally, I've added the necessary git command stubs to the other
tests in status_test.go so that the tests are now passing.
2025-01-10 10:52:01 -08:00
Andy Feller
a6ea8fe4ed
Merge pull request #10216 from nobe4/improve-padded-display
fix: padded display
2025-01-10 13:45:51 -05:00
Kynan Ware
c0d41102a5
Merge pull request #10215 from cli/dependabot/go_modules/github.com/mattn/go-colorable-0.1.14
Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14
2025-01-10 11:17:21 -07:00
Tyler McGoffin
322a43feff Change error handling on ReadBranchConfig to respect git Exit Codes 2025-01-10 09:59:21 -08:00
nobe4
69b17272d6
fix: add back colon that I removed 2025-01-10 17:17:14 +01:00
nobe4
69ab0c9c85
fix: actually read how MaxFunc work and simplify the code 2025-01-10 16:31:13 +01:00
nobe4
1899b83509
fix: padded display
Apply code suggestion from @andyfeller from:
- https://github.com/cli/cli/pull/10194#discussion_r1909761552
- https://github.com/cli/cli/pull/10194#discussion_r1909764278
2025-01-10 16:28:50 +01:00
William Martin
889c4c75f3 Collapse dryrun checks in ext bin upgrade 2025-01-10 16:06:01 +01:00
dependabot[bot]
567624b550
Bump github.com/mattn/go-colorable from 0.1.13 to 0.1.14
Bumps [github.com/mattn/go-colorable](https://github.com/mattn/go-colorable) from 0.1.13 to 0.1.14.
- [Commits](https://github.com/mattn/go-colorable/compare/v0.1.13...v0.1.14)

---
updated-dependencies:
- dependency-name: github.com/mattn/go-colorable
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-10 14:39:26 +00:00
Tyler McGoffin
4c8d124d37
Merge pull request #10194 from nobe4/fancier-extention-upgrade
feat: make the extension upgrade fancier
2025-01-09 14:59:52 -08:00
Tyler McGoffin
3d2748789e Rename test user in tests 2025-01-09 12:58:31 -08:00
Tyler McGoffin
100f9b473f Change pr number in test 2025-01-09 12:57:23 -08:00
Tyler McGoffin
e4f0b79173 Surface and handle error from ReadBranchConfig in parseCurrentBranch
I've only added the one test for parseCurrentBranch because the function
appears to be largely exercised by TestFind. There's definitely an
opportunity for a bigger refactor of the tests, here, but I want to avoid
scope creep as I propagate the ReadBranchConfig api changes throughout the
codebase
2025-01-09 12:46:55 -08:00
Tyler McGoffin
e4320ccc4b Directly stub headBranchConfig in Test_tryDetermineTrackingRef 2025-01-09 11:58:33 -08:00
Tyler McGoffin
48d45d0b9d Refactor error handling in ReadBranchConfig to avoid panic 2025-01-09 11:45:45 -08:00
Tyler McGoffin
e1423cdbbf Refine error handling of ReadBranchConfig
cmd.Output() will return an error when the git command ran successfully
but had no output. To handle this, we can check Stderr, as we expect it to
be populated for any ExitErrors or otherwise when there is a command
failure.

This allows for propagation of this error handling up the call chain, so
we are now returning errors if the call to git fails instead of just
handing off an empty BranchConfig and suppressing the errors.

Additionally, I've removed some more naked returns that I found in
pkg/cmd/pr/create.go createRun
2025-01-09 11:45:15 -08:00
Andy Feller
21a1f8e8a9
Merge pull request #10208 from cli/andyfeller/10202-correct-issue-create-template-help
Correct help documentation around template use in `gh issue create`
2025-01-09 13:22:26 -05:00
Tyler McGoffin
d4f7576e8b Add test for empty BranchConfig in prSelectorForCurrentBranch 2025-01-09 09:01:14 -08:00
Andy Feller
954d4d5dbc
Correct help documentation around template use in gh issue create
Relates #10202 

While we figure out how to handle consistent experience using templates for creating issues and PRs, let's correct the help usage for issue template flag use as this is the issue template name, not filename.
2025-01-09 11:08:18 -05:00
Andy Feller
6bbd70353b Comment exported functions 2025-01-09 09:09:42 -05:00
Tyler McGoffin
15ac566222 Remove shadowed errors from prSelectorForCurrentBranch and cover with tests 2025-01-08 15:21:05 -08:00
Tyler McGoffin
94b2d4ec3b Added tests to cover prSelectorForCurrentBranch for confidence in refactor 2025-01-08 15:00:38 -08:00
Tyler McGoffin
ec9eaef048 Refactor prSelectorForCurrentBranch and tests
Replace the git config argument in prSelectorForCurrentBranch with
the branchConfig it was used to fetch. The tests needed to be refactored
accordingly to support this change to the prSelectorForCurrentBranch API.
In addition, I've moved the test to a table test format so I can expand
the test coverage in the next commit.
2025-01-08 14:34:49 -08:00
Tyler McGoffin
527d1db298 Add missing test for RemoteURL in parseBranchConfig 2025-01-08 14:24:20 -08:00
Tyler McGoffin
fea46c0011 Change ReadBranchConfig error message in gh pr create 2025-01-08 11:40:42 -08:00
Tyler McGoffin
4575692ebf Remove private readBranchConfig method and remove parseBranchConfig from Client
I think I went too far with my previous refactor and am backing out of it.
Adding a private readBranchConfig method on the client wasn't providing
any real additional value, so I've put it back into ReadBranchConfig.

However, I think there is still value in having parseBranchConfig
(formerly createBranchConfig) as a separate util function, as it both
improves readability of ReadBranchConfig and makes parsing its purpose
easier through the bespoke tests for it.
2025-01-08 10:36:45 -08:00
Meredith Lancaster
8ad877b188 add check for invalid attestation
Signed-off-by: Meredith Lancaster <malancas@github.com>
2025-01-08 08:38:43 -07:00
Tyler McGoffin
713346c736
Merge pull request #10196 from cli/jtmcg/update-FR-docs
Update triage.md to reflect FR experiment outcome
2025-01-07 16:10:49 -08:00
Tyler McGoffin
47c391b246 PR review edits 2025-01-07 15:42:17 -08:00
Tyler McGoffin
0137150848 Refactor Test_readGitBranchConfig for easier parsing 2025-01-07 14:56:27 -08:00
Meredith Lancaster
33d0002d21 update tests to use new function name
Signed-off-by: Meredith Lancaster <malancas@github.com>
2025-01-07 15:22:02 -07:00
Meredith Lancaster
8d89dd97fd
Update pkg/cmd/attestation/api/client.go
Co-authored-by: Phill MV <phillmv@github.com>
2025-01-07 15:14:53 -07:00
Meredith Lancaster
51a74aed1d
Update pkg/cmd/attestation/api/client.go
Co-authored-by: Phill MV <phillmv@github.com>
2025-01-07 15:14:23 -07:00
Tyler McGoffin
c83cf32cff Remove named return values from prSelectorForCurrentBranch 2025-01-07 13:54:43 -08:00
Tyler McGoffin
f43da8ea9a Refactor ReadBranchConfig for test coverage of newly returned erros 2025-01-07 13:54:43 -08:00
Tyler McGoffin
bf6fdbdfd2 Remove named returns from ReadBranchConfig and surface errors 2025-01-07 13:54:43 -08:00
Meredith Lancaster
42cb2547cd remove old comment
Signed-off-by: Meredith Lancaster <malancas@github.com>
2025-01-07 14:13:50 -07:00
Meredith Lancaster
d4f3fbce9b
Merge branch 'trunk' into fetch-artifact-attestation-bundles-with-sas-url 2025-01-07 12:04:12 -07:00