All tests which are directory-sensitive now also:
- reset viper
- use t.Cleanup
- use t.TempDir
- use a clean XDG_CONFIG_HOME
- specify explict name when creating
- moves helpers to root_test
* fix: always use function's namespace when invoking remote
* test
* Apply suggestions from code review
Co-authored-by: Matej Vasek <matejvasek@gmail.com>
* rebased and updated func struct
* fixing migration to 1.0.0 struct
* fixing on cluster tests
* updaating migration version to 0.34.0
* adding tests for marshalling and migration errors
* adding EOF new line
* updating migrations
* fixing wrong name
* fixing marshalling test
* adding EOF line
* fixing assertion
This is causing trouble with new PRs that potentially change CLI flags
or other user-facing UX. Another option besides completely removing the
version information is to modify Version.StringVerbose() so that it uses
the value of the most recent semver tag (or Knative tag).
```
❯ git describe --match "v*"
v0.34.0-6-g6d26e64c
❯ git describe --match "knative*"
knative-v1.7.0-6-g6d26e64c
```
This is nice, but could be misleading if the UX has changed since that
release.
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* fix: registry prompt result being ignored
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* feat: deploy autobuild and flag persistence
* cleanup
* help text, comments and test cleanup
* removing usurped commands.txt
* add platform to deploy synopsis help
* feat: add initial version of command groups and template engine (#215)
* feat: add relevant dependencies and vendor files (#215)
* feat: extend TestUsageFlags for hidden flags and flags with no shorthand (#215)
* feat: refactor root.go to use command groups (#215)
* feat: move the long help of root cmd to the usage templates section (#215)
* feat: updates after rebase (#215)
* feat: update after review (#215)
* feat: rename 'options' into 'flags' to align with the old help (#215)
* feat: remove support for help options, add template for global flags help section (#215)
* feat: update handling of root command help to support proper use of templates and docs generation (#215)
* feat: generate new docs (#215)
* Better error message I docker/podman not present.
* Auto detect podman machine's socket on mac/win.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fix: image name derivation and flag precidence
* cleanup
* fix image prompt, reorganize and cleanup
* client deploy image test
* be explicit about registry treatment in tests
* ineffassign
* fix: k8s env not required
* misspell
* minor cleanup
* recombine build and deploy configs
* test namesace choosing logic
* fix: check for `--image` flag in build command
If the user provides an `--image` flag on the command line, it should be
used. This commit modifies the image resolving code to check whether or
not the image name was provided on the command line.
Fixes: https://github.com/knative-sandbox/kn-plugin-func/issues/1125
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: review feedback
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* Added ability to add env non-interactively
* Added ability to list envs as JSON
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
This commit removes the docs/reference/commands.txt file and instead
uses the Cobra built-in documentation generator to create markdown
documents for every command.
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* chore: shared builder constants etc
* pretty-print the shared unknown builder error
* update builder impls to use shared defs and validators
* error and docs text formatting
* include static default short names
* comment updates and typos
* docs paths
* use the constants for the in-package builder defaults
* use builders.All but with caviat
* use '.' in flags to indicate default function path
* regen commands.txt with '.' as default path
* centralize dot expansion
* minor cleanup
* update all references to path flag
* exits should be panics
* fix: ensure registry in func.yaml is respected
If the user has a value specified in func.yaml for the image registry,
that value should be used by the build command, if not otherwise
specified as a flag or via the environment.
Fixes: https://github.com/knative-sandbox/kn-plugin-func/issues/1159
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: lint
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* first run, F -> f
* fix
* fix
* misspells
* client*.go files
* add client*.go: misspells
* cmd dir test files
* docker dir
* function* files
* i*.go and job.go
* job.go,mock dir,repos*,s2i dir,schema dir,templates*
* test dir
* testing dir
* root dir *.go second round
* docs: replace commands.md with generated text file
This commit removes commands.md document which tends to get out of date
pretty easily and replaces it with a generated commands.txt file. The
help text generation is fairly naive, but should be sufficient for the
time being.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: tweak title formatting
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: run build-docs.sh again after recent change
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: add docs generation to make build target
Also removes the random UUID as the default for `invoke` since it's a
little misleading. That value will not be the one that's used, since
it's random. And because it's random, it changes the docs every time.
Signed-off-by: Lance Ball <lball@redhat.com>
* check namespace; add to func.yaml on first deploy; added tests and mock kubeconfig for testing
* change func args because only f.Namespace is used instead of the whole struct
* func comment
* misspell
* fix tests
* warning in stderr
* use context.Background
* add fake kubeconfig for new test
* --image can be given with digest, created parser and edited some help text to reflect this
* fixed small stuff
* tests for deploy with --image
* move parser to file, static test should be kept active
* updated some error mesgs; now prints a warning if flags not set explicitly, if set to a wrong value, return an error; updated tests to fit new error messages
* --image flag message edit
* removed warning; instead print info about disabled push a build unconditionally
* Better input handling for non-tty
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Make cred-helper 'not implemented' non fatal error
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* spelling
* feat: full build options on deploy
* increase e2e lifecycle test timeout to 45m
* remove redundant flag shorthand b
* map flags for parsing
* feat: detect built image staleness and utilize on run command
* write directly to sha256 rather than buffer
* client test cleanup
* remove superfluous test println
* ensure runtime dir
* close file opened when testing
* fix typos
* typos and missing test case