Kyle Brennan a2176718ec
[dev image] update to Jammy (#16718)
* [dev image] update to Jammy

Ref: https://github.com/gitpod-io/workspace-images/pull/1017

no more `python-dev`

ref:
https://github.com/lewagon/data-setup/issues/219#issuecomment-1207519811
https://wiki.termux.com/wiki/No_more_-dev_packages

* [dev image] update images latest dev image

* [ws-manager] avoid false positive linter errors

* [ws-daemon] fix ineffectual assignment for err

golangci-lint is catching more errors since upgrading to go 1.19.5

* Update to more recent gcloud

* Moar timeout
2023-03-22 19:37:14 +01:00
..
2023-03-22 19:37:14 +01:00
2023-02-05 12:10:43 +01:00
2022-04-27 03:44:12 +05:30
2022-08-04 05:00:48 -03:00
2022-12-08 13:05:19 -03:00

Tips and Tricks

Run unit tests

The unit tests in pkg/sync must be run as root because they create files with various permissions/ownership. It's easiest to run them using cd pkg/content && go test -c && sudo ./content.test -test.v. Once you have build the test executable using go test -c, you can also run specific test or even testcases. To run a specific test use sudo ./content.test -test.run TestName, to run a specific testcase use sudo ./content.test -test.run TestName -execute testcaseName.

Beware: when running all testcases (i.e. without -execute) the test itself will spawn a child process to recover from the permission drop across test cases. This also means that not all -test. flags will be passed on to the children. At the moment it's only -test.v.

Tracing / Jaeger

ws-daemon has OpenTracing instrumentation which means you can get traces out of ws-daemon. At the moment we just print the traces as log messages. If you want to run ws-daemon with a remote Jaeger installation, you should set the following environment variables:

# set the Jaeger endpoint (e.g. an all-in-binary)
JAEGER_ENDPOINT=http://localhost:14268/api/traces
# set the sampler to const, to get all traces
JAEGER_SAMPLER_TYPE=const
# enable the constant sampler
JAEGER_SAMPLER_PARAM=1