* Add targer platform flag to build script
* Update hack/build.sh
Co-authored-by: Chris Suszynski <krzysztof.suszynski@gmail.com>
* Drop -mod=vendor flag
---------
Co-authored-by: Chris Suszynski <krzysztof.suszynski@gmail.com>
* Move to the hack' script inflator
* Skip kn subpackage
* Move the lib/ to public pkg/ packages
* Introduce pkg submodule, remove the vendor dir
* Remove vendor references
* Use latest version of knative.dev/hack
* Publish dependent images properly
* Walkaround for knative-extensions/net-istio#1345
* Remove GOTOOLCHAIN in go.work
* Verify codegen use common funcs
* Import code from knative.dev/client-pkg
* Restore the default unit test runner
* Try knative/actions#223
* Restore the workflows
* Nit: simplify config package import
* Add support for Eventing/v1beta2 EventTypes
* Skip e2e tests on missing API
* Shortne the sink help message
* Reword the help by the review recommendation
* Reflect review feedback
Since we include now a test-infra script, which is Bash 4 based,
macOs user need to install Bash >= 4 e.g. via brew now.
The bash version coming with macOs is not good enough (3)
* Update k8s dependencies to v0.20.7
* Update vendor dir
* Fix license dir
* Remove commented code
* Update knative deps
* Use scheme to add known types for dynamic client
* Update go-licenses in build script
* updating to use the hack repo
* eof
* you need to run update deps after codegen to pick up any new deps.
* do not reinvent update-deps.
* must be winter
* feat: Add plugin listing to "kn --help"
This works on all levels. Test needs to be expanded still.
Fixes#266
* chore: Fix test
* Add test and ported #910 over.
* changelog update
* fix test
* Fix test
* fix integration tests
* fix test
* chore: Add some explanatory comments
* fix test
* Update unit test for invalid concurrency target value
* Vendor v0.16.0 eventing and serving
* Commit the LICENSES generated by hack/update-deps.sh
* Spare third_party dir from license check in hack/build.sh
* Update eventing and serving version for 'kn version'
* Use DeprecatedInjectionAnnotation key for backward compatibility
Fixes#918
Use DeprecatedInjectionAnnotation, i.e. "knative-eventing-injection"
for reconciling broker via namespace labeling and trigger annotations.
From eventing v0.16.0 release, this key is changed to "eventing.knative.dev/injection"
however, older eventing installation wont recognize it. So we continue
using the deprecated key until the sugar-controller would support reconciling
on either keys.
* Fix(kn version): Display eventing.knative.dev at v1beta1 version
We've been showing 'v1alpha1' in kn version while we actually
vendor and refer v1beta1 for eventing.knative.dev
* chore(e2e): Run tests against serving/eventing v0.16.0 release
* Update test for concurrency-target to expect new error message
the new error message for incorrect concurrency-target value contains "should be at least 0.01"
* Setup sugar-controller for released eventing version setup
- reuse knative_setup util from common lib for latest-release CI setup
* Fix typo in YAML URL and add subheader for sugar-controller install
* Update go.mod to specify the module is go1.14
Thus the go commands will default to -mod=vendor
See: https://golang.org/doc/go1.14#go-command
* install goimports as a tool
* drop mod=vendor usage as that's the default with go1.14
* remove comment about using -mod=vendor
* Revert "drop mod=vendor usage as that's the default with go1.14"
This reverts commit 567004d404bb7ebd39ed527dc75759cfc7db672f.
* Revert "remove comment about using -mod=vendor"
This reverts commit 2a71393a2015c1539be1503e0c52cf64283e12d0.
* Revert "install goimports as a tool"
This reverts commit 9616d5e2d2ab0d61e8454b1ace057ec9712e182d.
* use go_run_tool to run goimports
* inline go_run_tool
* include required env var REPO_ROOT_DIR
* (refactor) address the e2e extract / refactor of issue #763
* various updates to address reviewers feedback
* renamed lib/test/integration to lib/test and package to test
- `./hack/build.sh` performs usual flow of codegen, build and test
- `./hack/build.sh -x` only compiles cross platform
- Updates hack/build.sh help message to reflect this
* Renamed to --build-cross to --all (as we are not building a cross but all binaries. Could be renamed to --all-bin to be more clear)
* Fixed inclusion of external build-flags.sh script (which was broken when used build.sh with a symbolic label)
* Moved cross compiling to the end (to not interfer with --fast or --codegen)
* Aligned labels (to be short and concise)
Fixes#364
- Ensure kn cross platform build works in pre-submit tests
- Run ./hack/build.sh -x after running existing pre-submit tests
- defines a function post_build_tests to invoke cross platform builds
- post_build_tests will be run by test-infra after build tests are compelete
- Use `./hack/build.sh -x` or `./hack/build.sh --build-cross`
- Doesn't touch any of the existing flow, providing these options will build binaries and exit
* Check that every generated file has been regenerated for CI
* No color when not on a tty which is useful for build logs
* Always do updates when called without args
* Removed -u option and added -c for codegen only (dep update, docs gen, formatting, license check)
(and gofmt if goimports isn't available)
- Runs goimports on all packages except vendor dir and filter on only *.go files
- Runs gofmt on all dirs except vendor and filters on *.go files, also writes the results instead of printing diff
- Fixes typo s/insteat/insead
- Adds the changes after adding simply code step in hack/build.sh
- Uses source_dir var specifying the dirs to work on
- Combines gofmt commands into single command
* feat(build.sh): Enable goimports for cleanup imports + cleanup imports
Much like 'go fmt' for cleaning up go source, 'goimports' can help
in properly formatting and grouping imports. See https://goinbigdata.com/goimports-vs-gofmt/
for a quick overview.
This commit also cleansup imports on existing files.
* fix(build): Add missing space for output on iterm
* chore(build): Merged gofmt and goimports
And changed order so that formatting and import reordering comes
before compiling and testing
* fix(build.sh): Cosmetic spacing fix
Iterm has an issue with rendering multi byte unicode chars. This
commit adds an extra space to certain emojis on iterm only.
This fixes current rendering issues on Linux term because that extra
space was added previously unconditionally.
* fix(build.sh): Avoid uninitialized variable ITERM_PROFILE
While working with `build.sh --watch` it turned out the underlying
tool xnotify is not matured enough:
* It doesn't work when IntelliJ IDEA changes a file
* It can't deal with ignoring newly generated temp files (like .swp for vi)
This commit exchanges xnotify with fswatch which is much more matured.
This features uses and requires https://github.com/AgentCosmic/xnotify
and should work on any platform
Use it with
* Watch & compile: build.sh --watch
* Watch, compile, test: build.sh --watch --test
* Watch, compile, test & verbose output: build.sh --watch --test --verbose
(shortcuts -w && -t can be used, too)
* feat(build.sh): Adding options and running tests
* Added running unit tests to the script
* Added options to support different development flows (see help message below)
* Allow symlinking to /usr/local/bin so that the script can be called from everywhere
Usage message:
Knative Client Build Script
Usage: hack/build.sh [... options ...]
with the following options:
-f --fast Only build (without formatting, testing, code generation)
-t --test Run tests even when used with --fast
-u --update Update dependencies
-h --help Display this help message
--verbose Verbose script output (set -x)
You can add a symbolic link to this build script into your PATH so that it can be
called from everywhere. E.g.:
ln -s .../hack/build.sh /usr/local/bin/kn_build.sh
Examples:
* Compile, format, tests, docs: build.sh
* Compile only: build.sh --fast
* Compile with tests: build.sh -f -t
* doc(build.sh): Added documentation for new build.sh options
* docs(build.sh): Cosmetic fixes
* docs(build.sh): Tiny documentation fix
* chore(build.sh): Another typo fix
* chore: Streamlined build.sh
* Merged generate-docs.sh into build.sh
* Split up into smaller functions
* Added serving dependency version to 'kn version' command
Not sure whether the latter is really useful (showing the serving dependency)
as this is might get confused with the knative version
installed on the cluster.
* chore: Fixed indentation
Also:
1. New docs for commands
* service get
* revision get
2. Removes auto generated docs tags
3. Auto run generated docs when building to pick up any command changes
The final step when printing out the version of the generated kn
binary uses now the proper path, so that this script can be called
from any directory (like when the cwd is hacks/).