Commit Graph

822 Commits

Author SHA1 Message Date
Tim Hockin af6b96ab74 Add e2e for username/password over HTTP 2023-09-19 14:57:41 -07:00
Tim Hockin dbd0567882 Use correct keys on env parsing of alt names
These names are back-compat
2023-09-19 14:18:30 -07:00
Tim Hockin 11b8d151d0 Clean up submodule cases to be a bit more readable 2023-09-19 13:40:40 -07:00
Tim Hockin 55f71d55ed Add a test case for submodules with diff SSH keys 2023-09-19 13:31:19 -07:00
Tim Hockin 29b291e9c2 Add support for multiple SSH keys
The --ssh-key-file flag can be specified more than once and the
GITSYNC_SSH_KEY_FILE env var will be parsed like PATH.

Also adds e2e coverage for wrong-key and for multiple keys.
2023-09-19 13:31:19 -07:00
Tim Hockin 50de3aaeab Dump logs when e2e fails in CI 2023-09-19 13:20:09 -07:00
Tim Hockin 310cbaea37 Add $GITSYNC_VERBOSE to set verbosity via env 2023-09-15 08:28:08 -07:00
Kubernetes Prow Robot 1cab59e22e
Merge pull request #800 from kubernetes/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-08 12:24:30 -07:00
dependabot[bot] a6c813b84d
Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:18:24 +00:00
Kubernetes Prow Robot e0016481f7
Merge pull request #798 from phil-park/master
fix: Fix backward compatibility of environment variables with bool type
2023-08-31 16:06:30 -07:00
Jiwon Park 8bb3467a24 fix: Fix backward compatibility of environment variables with bool type
Signed-off-by: Jiwon Park <bakjeeone@hotmail.com>
2023-08-31 07:39:54 +09:00
Kubernetes Prow Robot 5e5035d029
Merge pull request #794 from thockin/master
Add /tmp to staging
2023-07-31 12:34:39 -07:00
Tim Hockin 7a72116ccc
Add /tmp to staging 2023-07-31 08:36:34 -07:00
justinsb f602004cd4 lint: Add golangci based on kubernetes/kubernetes.
Adapted the "strict" settings, but removed a few exclusions that
aren't relevant here (e.g. zz_generated), and removed the custom
logcheck linter (as we aren't currently using structured logging).
2023-07-29 16:43:25 -07:00
justinsb 8656ab6183 lint: Add linters to makefile / github CI
Not yet ready to make gating, but we can watch the progress.
2023-07-29 16:43:25 -07:00
Kubernetes Prow Robot d86e70f744
Merge pull request #792 from justinsb/fix_remaining_lint_issues
lint: fix remaining lint issues.
2023-07-29 16:34:00 -07:00
justinsb bb22144d4f lint: fix remaining lint issues.
These fix the issues identified by the k/k inspired linter
configuration that we will be adding:

```
pkg/pid1/pid1.go:72:14: ST1005: error strings should not end with punctuation or newlines (stylecheck)
                        return 0, fmt.Errorf("unhandled exit status: 0x%x\n", status)
                                  ^
pkg/pid1/pid1.go:86:21: ST1005: error strings should not end with punctuation or newlines (stylecheck)
                        return false, 0, fmt.Errorf("wait4(): %w\n", err)
                                         ^
main.go:480:34: Error return value of `pflag.CommandLine.MarkDeprecated` is not checked (errcheck)
        pflag.CommandLine.MarkDeprecated("branch", "use --ref instead")
                                        ^
main.go:483:34: Error return value of `pflag.CommandLine.MarkDeprecated` is not checked (errcheck)
        pflag.CommandLine.MarkDeprecated("change-permissions", "use --group-write instead")
                                        ^
main.go:486:34: Error return value of `pflag.CommandLine.MarkDeprecated` is not checked (errcheck)
        pflag.CommandLine.MarkDeprecated("dest", "use --link instead")
                                        ^
main.go:1897:16: Error return value of `io.WriteString` is not checked (errcheck)
        io.WriteString(h, s)
                      ^
main.go:555:2: ifElseChain: rewrite if-else to switch statement (gocritic)
        if *flDeprecatedBranch != "" && (*flDeprecatedRev == "" || *flDeprecatedRev == "HEAD") {
        ^
```
2023-07-29 16:41:23 -04:00
Kubernetes Prow Robot 41b71f5ce4
Merge pull request #788 from thockin/fix_git_option_parsing_goroutine_leak
Fix goroutine leak in git option parsing
2023-07-29 13:06:00 -07:00
Kubernetes Prow Robot 9163f8fac2
Merge pull request #791 from thockin/rename_ghaction_build_job
Rename github build workflow
2023-07-29 13:03:59 -07:00
Kubernetes Prow Robot ee35dad8bc
Merge pull request #789 from thockin/percent_w_for_errors
Replace all error %v with %w
2023-07-29 13:02:00 -07:00
Kubernetes Prow Robot 0971564436
Merge pull request #790 from thockin/add_dependabot_for_gh_actions
Add dependabot for github actions
2023-07-29 13:00:00 -07:00
Tim Hockin 251fd7b0b7
Rename github build workflow 2023-07-29 10:40:29 -07:00
Tim Hockin 7e8adfe87f
Add dependabot for github actions 2023-07-29 10:35:07 -07:00
Kubernetes Prow Robot 71a5542f75
Merge pull request #786 from justinsb/enable_github_actions
Enable github actions for CI
2023-07-29 10:28:00 -07:00
Tim Hockin a9b3f8965c
Replace all error %v with %w 2023-07-29 10:21:39 -07:00
Tim Hockin d4f0c07bf1
Fix goroutine leak in git option parsing 2023-07-29 10:18:02 -07:00
Kubernetes Prow Robot f973ce04e0
Merge pull request #783 from justinsb/fix_lint_1
Lint fixes (part 1)
2023-07-29 10:16:00 -07:00
Kubernetes Prow Robot 0e358a2e1f
Merge pull request #784 from justinsb/fix_error_string_newlines
Remove trailing newlines from errors
2023-07-29 10:14:00 -07:00
justinsb 91f41dc719 tests: don't rely on global git configuration in tests
Otherwise got:

```
test root is /tmp/git-sync-e2e.228068759

Author identity unknown

*** Please tell me who you are.

Run

  git config --global user.email "you@example.com"
  git config --global user.name "Your Name"

to set your account's default identity.
```
2023-07-29 11:39:33 -04:00
justinsb abbccb07a5 Add simple github actions
Makes it easy for anyone to run tests on github, doesn't preclude us
using prow also.
2023-07-29 10:56:59 -04:00
justinsb 07033fe697 Remove trailing newlines from errors
I believe we print a new line anyway from e.g. envInt, which calls fmt.Fprintln.

Found by staticcheck:

main.go:127:17: error strings should not end with punctuation or newlines (ST1005)
main.go:157:13: error strings should not end with punctuation or newlines (ST1005)
main.go:187:13: error strings should not end with punctuation or newlines (ST1005)
main.go:217:13: error strings should not end with punctuation or newlines (ST1005)
2023-07-29 10:49:06 -04:00
justinsb 4aa9cd7487 Lint fixes (part 1)
Fix a few misc linter issues:

main_test.go:750:7: Error return value is not checked (errcheck)
        touch(dirPath)
             ^
main_test.go:759:7: Error return value is not checked (errcheck)
        touch(filePath)
             ^
main_test.go:768:7: Error return value is not checked (errcheck)
        touch(newfilePath)
             ^
main.go:2089:3: S1023: redundant `return` statement (gosimple)
                return
                ^
main.go:1935:13: S1039: unnecessary use of fmt.Sprintf (gosimple)
                sshCmd += fmt.Sprintf(" -o StrictHostKeyChecking=no")
                          ^
main.go:1152:33: SA1016: os.Kill cannot be trapped (did you mean syscall.SIGTERM?) (staticcheck)
        signal.Notify(c, os.Interrupt, os.Kill)
2023-07-29 10:44:16 -04:00
Kubernetes Prow Robot 71a7aca57e
Merge pull request #781 from thockin/v4_drop_distroless
Drop distroless and DIY
2023-07-29 07:38:00 -07:00
Tim Hockin a56f58dbe1
Drop distroless and DIY
Distroless is stuck on debian 11 - we can do the same thing, more or
less in our own script.  Sad that we have to, but here we are.

The net result is a about 8MB smaller and passes e2e and passes trivy.
2023-07-28 15:31:16 -07:00
Kubernetes Prow Robot e6249c2291
Merge pull request #778 from thockin/karlkfi_askpass_err_log
Handle errors from credential refresh
2023-07-28 12:15:45 -07:00
Karl Isenberg dd57eb0049
Handle errors from credential refresh
Previously, errors from askpass and credential storage were being
ignored, causing git clone/fetch to later error with hard-to-read
errors.

Now the error indicates the credential refresh as the problem, and
does not try to sync.
2023-07-28 12:09:47 -07:00
Kubernetes Prow Robot 2a7678a14c
Merge pull request #772 from Gemesil/patch-1
Update README.md
2023-07-19 14:04:04 -07:00
Ofek Buchnik 12fd9ccb56
Update README.md
Fix in README from "chan ges" to "changes"
2023-07-19 23:45:59 +03:00
Tim Hockin 54333f453f Update README.md
Update README to be less "dev branch hacky hacky"
2023-07-18 09:58:03 -07:00
Tim Hockin 0ae6c31b2e DNM 2023-07-16 12:10:55 -07:00
Tim Hockin 22b2e8e35a Update to use bookworm base image
This include symlinks from /bin -> /usr/bin (and lib, and ...), which
broke the build script.  See comments in there for details.
2023-07-16 12:10:55 -07:00
Tim Hockin 8981e7f5bb Document the / URL of the HTTP port 2023-07-16 12:10:40 -07:00
Tim Hockin ee27153186 Make 'make test' work 2023-07-11 11:47:12 -07:00
Tim Hockin df5924f904 gofmt tools.go 2023-07-11 11:47:12 -07:00
Kubernetes Prow Robot 5a9037f8c6
Merge pull request #765 from thockin/v4_fix_relative_submodules
Make relative-path submodules work, via origin
2023-07-10 11:44:52 -07:00
Tim Hockin 08296a48b0
Make relative-path submodules work, via origin
The "origin" remote is implicitly used as the basis for relative-paths
in submodules.  It's very subtly documented, and I have no idea if there
are other places where it is used.  It seems git really expects it to
exist, so let's just do that.
2023-07-10 10:46:34 -07:00
Tim Hockin 0753bd511f Use --no-install-recommends on bash install 2023-06-26 13:28:46 -07:00
Tim Hockin e603667224 Make container builds faster by not repeating work 2023-06-26 13:28:46 -07:00
Tim Hockin c4d5e9c531 Fix TAG usage for 'make release' 2023-06-26 11:27:31 -07:00
Tim Hockin 9ea8045b95 Update release notes and add 'make release' 2023-06-23 14:48:24 -07:00