Integration tests are already covered a lot by the CI on GitHub and tend to be somewhat flaky on OpenShift. We don't need to run them all on OpenShift.
* Revert using a DEVFILE_PROXY env var
There is no proxy deployed in the internal test cluster.
As such, this env var no longer makes sense.
* To help troubleshoot, display the resolved Devfile registry URL
* Make interactive tests more resilient with stack versions
They are now able to determine if the "Select version" prompt
should be asked by "odo init" or not:
* Make sure doc automation tests do not rely on hard-coded namespaces
* Allow to run doc automation tests with more parallel Ginkgo nodes
This is possible now that those tests no longer
depend on a single hard-coded namespace.
* Remove occurrences of the DEVFILE_REGISTRY env var in IBM Pipelines scripts
* Reuse logic for determining the Devfile Registry URL in "odo registry" tests
* Clarify what openshiftci-config.sh is used for
* Display Git commit ID in output of odo commands where the version is displayed
This covers:
- odo init
- odo dev
- odo deploy
Displaying the commit ID (same as in `odo version`) will help quickly pinpoint the exact commit without having to run `odo version`.
See #6131 for more context
* Append the state of the working tree next to the Git commit ID
`git describe` is much more helpful to quickly understand the state of the working tree.
For backward compatibility, we are defaulting to `git rev-parse`,
just in case `git describe` does not work correctly.
* Fix integration tests
* Fix doc automation tests
Strip the Git commit ID from the full odo version string
prior to comparing the outputs.
We still want to compare the tag displayed.
* check SKIP_SERVICE_BINDING_TESTS to skip service binding tests
* Pass SKIP_SERVICE_BINDING_TESTS to Windows for Windows tests
* Use fsGroup on Kubernetes
* add instructions to install devfile registry in cluster
* Send tests results to Sheet
* Save tests from Windows tests + do not fail if junit file not found
* Change package name
* Remove cleanup old entries (keeping implementation)
* Add job number
* Document current implementations of command handlers
* Add unit tests for execHAndler
* Refactor pkg/devfile/image to inject Backend as dependency
* Use same handler for kubedev/podmandev
* Fail after SelectBackend==nil only if backend is needed
* Move runHandler to dev/common
* Unit tests for runHandler
* Create a component.ExecuteTerminatingCommand
* ExecuteTerminatingCommand/ExecuteNonTerminatingCommand for Handler
* Fix calling other command types
* Consider parent group to determine if a command is terminating
* Replace component.execHandler by common.runHandler
* Remove execHandler
* Make runHandler and most of fields private and pass containersRunning to handler
* Pass containersRunning value
* deploy using common Handler
* Fix tests
* Use specific Dev/Deploy mode for Apply
* Fix cmdline for job
* Fix unit tests
* Pass appName and componentName with ctx to handler
* Move handler to pkg/component package
* Update doc
* Unit tests Deploy
* Unit tests Build
* Unit tests Run
* Unit tests PostStart
* Unit tests PreStop
* Update doc
* Fix Podman tests
* Fix hotReload on podman
* Change podman version timeout to 30s for tests
* Cleanup + fix doc
* Simplify AddOdoProjectVolume and AddOdoMandatoryVolume
* Rename / Clarify HandleEphemeralStorage function
* Regroup volume-specific code
* Move volume specific code to a separated function
* Add a new module configAutomount
* Automount PVC (without options)
* Add unit tests
* Separate functions
* Mount secrets
* Mount configmaps
* Specific mount path
* MountAs annotation
* Mounting cm/secret as env
* Refacto: use inAllContainers + replace result with volume
* Mounting cm/secret as subpath
* Read-only
* Integration tests
* Rename label
* Automount during odo deploy Exec command
* Add documentation
* Fix TODO
* Review
* Fix indentation
* Rename labels/annotations
* Set Go version in go.mod
go mod edit -go=1.19
* Fix formatting issues reported by gofmt
* Fix SA1019 check (usage of deprecated "io/ioutil"), reported by golangci-lint
SA1019: "io/ioutil" has been deprecated since Go 1.16:
As of Go 1.16, the same functionality is now provided by package io or package os,
and those implementations should be preferred in new code.
See the specific function documentation for details. (staticcheck)
* Use Go 1.19 in our Dockerfiles
* Use Go 1.19 in the rpm-prepare.sh script
* Update the tag for the IBM Cloud CI image
* Add runOn flag
* Instantiate Kube/Podman DevClient instance according to runOn flag
* Start and stop Podman Pod
* Unit tests for createPodFromComponent
* podman mode runs without Kube config
* Fix tests + rebase
* Add sync and exec clients to podman dev
* tbc: call sync
* Remove unnecessary kclient dependency from exec client
* Inject podman client
* Implement ExecCMDInContainer for podman client
* Move [gG]etFirstContainerWithSourceVolume to dev/common package and use it for Podman
* TBC: execute build/run commands
* Fix rebase
* Fix unit test
* Comments for refacto
* Prepare implementation of Platform
* Use ExecuteRunCommand for run handler
* Do not pass parameters present in context
* Move back instanciation of devclient to clientset package
* Move CleanupDevResources method from Watch to Dev package
* CleanupResources: Do not pass parameters present in context
* Fix deleting volumes at exit time
* Check volumes do not exist
* Add support for postStart event
* Make odo dev work when no cluster is configured
* Review
* Add more TODOs
* User interface
* More info on ExitError errors
* Display forwarded ports in output and devstate file
* Add tests for forwarded ports
* Create .odo when necessary
* Add keyboard commands message
* Add doc on podman platform
* Update odo to use go 1.18
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
* Update golangci-lint version in Makefile
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
* Use go 1.18, not go 1.19
Erroneously I had used go 1.19 at various places.
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
* Rearrange imports; fix golangci-lint errors
Fixed a bunch of golangci-lint errors like below:
`File is not `gofmt`-ed with `-s``
using the command: `golangci-lint run --fix`
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
* Use go install instead of go get
This is because with go 1.18, `go get` behaves as `go get -d` by
default. Which means that it will only download, but not install.
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>
Signed-off-by: Dharmit Shah <shahdharmit@gmail.com>