skaffold.dev: Use skaffold to run cluster in development mode

Picks up changes in files (*.go) and re-deploys image to cluster automatically.
NB: Use ./skaffold.sh run to start and skaffold delete to do teardown, and minikube is required.
Install skaffold
$ ARCH="$([ $(uname -m) = "aarch64" ] && echo "arm64" || echo "amd64")"
curl -L --output /usr/local/bin/skaffold "https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-${ARCH}"
sudo chmod +x /usr/local/bin/skaffold
$ skaffold version
v1.39.2

Bring up cluster
$ minikube start --profile kgw --addons=metallb
$ ./skaffold.sh run
Generating tags...
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:latest
Checking cache...
 - kubeshop/kusk-gateway: Not found. Building
Starting build...
Found [kgw] context, using local docker daemon.
Building [kubeshop/kusk-gateway]...
Target platforms: [linux/amd64]
[+] Building 39.5s (18/18) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 1.33kB                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 211B                                                                                0.0s
 => [internal] load metadata for gcr.io/distroless/static:nonroot                                                                                1.5s
 => [internal] load metadata for docker.io/library/golang:1.19-alpine                                                                                1.8s
 => [auth] library/golang:pull token for registry-1.docker.io                                                                                0.0s
 => [builder 1/8] FROM docker.io/library/golang:1.19-alpine@sha256:f3e683657ddf73726b5717c2ff80cdcd9e9efb7d81f77e4948fada9a10dc7257                                            6.4s
 => => resolve docker.io/library/golang:1.19-alpine@sha256:f3e683657ddf73726b5717c2ff80cdcd9e9efb7d81f77e4948fada9a10dc7257                                                    0.0s
 => => sha256:46752c2ee3bd8388608e41362964c84f7a6dffe99d86faeddc82d917740c5968 1.36kB / 1.36kB                                                                                0.0s
 => => sha256:f9a40cb7e8ec6730fbc2feaad9b26b429930160c681b6d1e58ad3df1ad72d6f5 5.35kB / 5.35kB                                                                                0.0s
 => => sha256:213ec9aee27d8be045c6a92b7eac22c9a64b44558193775a1a7f626352392b49 2.81MB / 2.81MB                                                                                0.4s
 => => sha256:4583459ba0371c715f926a9bbd37a9dae909234f4b898220160425131eb53bd4 284.73kB / 284.73kB                                                                             0.4s
 => => sha256:93c1e223e6f2123b855e0c95898eba50cb6a055881ba9023527c0a361761c1cf 153B / 153B                                                                                0.4s
 => => sha256:f3e683657ddf73726b5717c2ff80cdcd9e9efb7d81f77e4948fada9a10dc7257 1.65kB / 1.65kB                                                                                0.0s
 => => extracting sha256:213ec9aee27d8be045c6a92b7eac22c9a64b44558193775a1a7f626352392b49                                                                                0.0s
 => => extracting sha256:4583459ba0371c715f926a9bbd37a9dae909234f4b898220160425131eb53bd4                                                                                0.0s
 => => sha256:14bccb3a1cff3b5f09bf1f21ba9ecb17c96329fb82f96605d922cfa4c9a82032 122.25MB / 122.25MB                                                                             3.7s
 => => sha256:861cc3991b26fba6073631f27a1dc32bb27761195d912d05ee2f14b86fdf923f 156B / 156B                                                                                0.6s
 => => extracting sha256:93c1e223e6f2123b855e0c95898eba50cb6a055881ba9023527c0a361761c1cf                                                                                0.0s
 => => extracting sha256:14bccb3a1cff3b5f09bf1f21ba9ecb17c96329fb82f96605d922cfa4c9a82032                                                                                2.4s
 => => extracting sha256:861cc3991b26fba6073631f27a1dc32bb27761195d912d05ee2f14b86fdf923f                                                                                0.0s
 => [stage-1 1/4] FROM gcr.io/distroless/static:nonroot@sha256:380318dd91fd3bea73ae5fe1eb4d795ef7923f576e6f5f8d4de6ef1ea18ed540                                                1.1s
 => => resolve gcr.io/distroless/static:nonroot@sha256:380318dd91fd3bea73ae5fe1eb4d795ef7923f576e6f5f8d4de6ef1ea18ed540                                                        0.0s
 => => sha256:380318dd91fd3bea73ae5fe1eb4d795ef7923f576e6f5f8d4de6ef1ea18ed540 1.67kB / 1.67kB                                                                                0.0s
 => => sha256:daf333843de1f9c4f43807bf2554dd27c59db181af10d8d6a065d80044f45ec1 426B / 426B                                                                                0.0s
 => => sha256:0d4f3baf10895230e85db46bed5a95d6f30f1c18a7d4ae1ac70aa25ee75baae3 478B / 478B                                                                                0.0s
 => => sha256:79e0d8860fadaab56c716928c84875d99ff5e13787ca3fcced10b70af29bf320 801.34kB / 801.34kB                                                                             0.9s
 => => extracting sha256:79e0d8860fadaab56c716928c84875d99ff5e13787ca3fcced10b70af29bf320                                                                                0.1s
 => [internal] load build context                                                                                0.5s
 => => transferring context: 90.55MB                                                                                0.5s
 => [builder 2/8] WORKDIR /workspace                                                                                1.4s
 => [builder 3/8] COPY go.mod go.mod                                                                                0.0s
 => [builder 4/8] COPY go.sum go.sum                                                                                0.0s
 => [builder 5/8] RUN go mod download                                                                                14.4s
 => [builder 6/8] COPY . .                                                                                0.1s
 => [builder 7/8] RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -v -ldflags "-X 'github.com/kubeshop/kusk-gateway/pkg/analytics.TelemetryToken=$TELEMETRY_TOKEN' -X 'gi  14.4s
 => [builder 8/8] RUN mkdir -m 00755 /opt/manager                                                                                0.2s
 => [stage-1 2/4] COPY --from=builder /workspace/manager .                                                                                0.0s
 => [stage-1 3/4] COPY --from=builder --chown=65532:65532 /opt/manager /opt/manager                                                                                0.0s
 => exporting to image                                                                                0.3s
 => => exporting layers                                                                                0.3s
 => => writing image sha256:feae312d1f6c4e4deae0e37c73bb5f23682cc797c9bc799bb96ef810e7a4fdbf                                                                                0.0s
 => => naming to docker.io/kubeshop/kusk-gateway:latest                                                                                0.0s
Build [kubeshop/kusk-gateway] succeeded
Starting test...
Tags used in deployment:
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:feae312d1f6c4e4deae0e37c73bb5f23682cc797c9bc799bb96ef810e7a4fdbf
Starting deploy...
 - customresourcedefinition.apiextensions.k8s.io/apis.gateway.kusk.io created
 - customresourcedefinition.apiextensions.k8s.io/envoyfleet.gateway.kusk.io created
 - customresourcedefinition.apiextensions.k8s.io/staticroutes.gateway.kusk.io created
 - namespace/kusk-system created
 - customresourcedefinition.apiextensions.k8s.io/apis.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/envoyfleet.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/staticroutes.gateway.kusk.io configured
 - serviceaccount/kusk-gateway-manager created
 - role.rbac.authorization.k8s.io/kusk-gateway-leader-election-role created
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-envoyfleet-manager-role created
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-manager-role created
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-metrics-reader created
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-proxy-role created
 - rolebinding.rbac.authorization.k8s.io/kusk-gateway-leader-election-rolebinding created
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-envoyfleet-manager-rolebinding created
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-manager-rolebinding created
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-proxy-rolebinding created
 - configmap/kusk-gateway-manager created
 - service/kusk-gateway-auth-service created
 - service/kusk-gateway-manager-metrics-service created
 - service/kusk-gateway-validator-service created
 - service/kusk-gateway-webhooks-service created
 - service/kusk-gateway-xds-service created
 - deployment.apps/kusk-gateway-manager created
 - mutatingwebhookconfiguration.admissionregistration.k8s.io/kusk-gateway-mutating-webhook-configuration created
 - validatingwebhookconfiguration.admissionregistration.k8s.io/kusk-gateway-validating-webhook-configuration created
 - configmap/config configured
Waiting for deployments to stabilize...
 - kusk-system:deployment/kusk-gateway-manager: waiting for rollout to finish: 0 of 1 updated replicas are available...
 - kusk-system:deployment/kusk-gateway-manager is ready.
Deployments stabilized in 11.134 seconds
Starting post-deploy hooks...
sleeping for 2 seconds before applying `config/samples/gateway_v1_envoyfleet.yaml`
Completed post-deploy hooks
 - envoyfleet.gateway.kusk.io/default created
Waiting for deployments to stabilize...
Deployments stabilized in 68.121516ms
You can also run [skaffold run --tail] to get the logs
$ kubectl get svc -A
kubectl get svc -A
NAMESPACE     NAME                                   TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                      AGE
default       default                                LoadBalancer   <IP_ADDRESS>    <IP_ADDRESS>   80:30103/TCP,443:32665/TCP   7s
default       kubernetes                             ClusterIP      <IP_ADDRESS>        <none>         443/TCP                      100s
kube-system   kube-dns                               ClusterIP      <IP_ADDRESS>       <none>         53/UDP,53/TCP,9153/TCP       99s
kusk-system   kusk-gateway-auth-service              ClusterIP      <IP_ADDRESS>     <none>         19000/TCP                    19s
kusk-system   kusk-gateway-manager-metrics-service   ClusterIP      <IP_ADDRESS>   <none>         8443/TCP                     19s
kusk-system   kusk-gateway-validator-service         ClusterIP      <IP_ADDRESS>    <none>         17000/TCP                    19s
kusk-system   kusk-gateway-webhooks-service          ClusterIP      <IP_ADDRESS>    <none>         443/TCP                      19s
kusk-system   kusk-gateway-xds-service               ClusterIP      <IP_ADDRESS>     <none>         18000/TCP                    19s
$ curl -v <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 80 (#0)
> GET / HTTP/1.1
> Host: <IP_ADDRESS>
> User-Agent: curl/7.82.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 404 Not Found
< date: Tue, 11 Oct 2022 12:51:06 GMT
< server: envoy
< content-length: 0
<
* Connection #0 to host <IP_ADDRESS> left intact

Cleanup cluster
This deletes everything kusk-related in the cluster.
$ skaffold delete
Cleaning up...
 - customresourcedefinition.apiextensions.k8s.io "apis.gateway.kusk.io" deleted
 - customresourcedefinition.apiextensions.k8s.io "envoyfleet.gateway.kusk.io" deleted
 - customresourcedefinition.apiextensions.k8s.io "staticroutes.gateway.kusk.io" deleted
 - namespace "kusk-system" deleted
 - customresourcedefinition.apiextensions.k8s.io "envoyfleet.gateway.kusk.io" deleted
 - serviceaccount "kusk-gateway-manager" deleted
 - role.rbac.authorization.k8s.io "kusk-gateway-leader-election-role" deleted
 - clusterrole.rbac.authorization.k8s.io "kusk-gateway-envoyfleet-manager-role" deleted
 - clusterrole.rbac.authorization.k8s.io "kusk-gateway-manager-role" deleted
 - clusterrole.rbac.authorization.k8s.io "kusk-gateway-metrics-reader" deleted
 - clusterrole.rbac.authorization.k8s.io "kusk-gateway-proxy-role" deleted
 - rolebinding.rbac.authorization.k8s.io "kusk-gateway-leader-election-rolebinding" deleted
 - clusterrolebinding.rbac.authorization.k8s.io "kusk-gateway-envoyfleet-manager-rolebinding" deleted
 - clusterrolebinding.rbac.authorization.k8s.io "kusk-gateway-manager-rolebinding" deleted
 - clusterrolebinding.rbac.authorization.k8s.io "kusk-gateway-proxy-rolebinding" deleted
 - configmap "kusk-gateway-manager" deleted
 - service "kusk-gateway-auth-service" deleted
 - service "kusk-gateway-manager-metrics-service" deleted
 - service "kusk-gateway-validator-service" deleted
 - service "kusk-gateway-webhooks-service" deleted
 - service "kusk-gateway-xds-service" deleted
 - deployment.apps "kusk-gateway-manager" deleted
 - mutatingwebhookconfiguration.admissionregistration.k8s.io "kusk-gateway-mutating-webhook-configuration" deleted
 - validatingwebhookconfiguration.admissionregistration.k8s.io "kusk-gateway-validating-webhook-configuration" deleted
 - configmap "config" deleted
$ kubectl get svc -A
NAMESPACE     NAME         TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)                  AGE
default       kubernetes   ClusterIP   <IP_ADDRESS>    <none>        443/TCP                  10m
kube-system   kube-dns     ClusterIP   <IP_ADDRESS>   <none>        53/UDP,53/TCP,9153/TCP   10m
$ kubectl get pods -A
NAMESPACE        NAME                          READY   STATUS        RESTARTS   AGE
default          default-69d7898855-d76vr      1/1     Terminating   0          9m5s
kube-system      coredns-6d4b75cb6d-79rl2      1/1     Running       0          10m
kube-system      etcd-kgw                      1/1     Running       0          10m
kube-system      kube-apiserver-kgw            1/1     Running       0          10m
kube-system      kube-controller-manager-kgw   1/1     Running       0          10m
kube-system      kube-proxy-lks5k              1/1     Running       0          10m
kube-system      kube-scheduler-kgw            1/1     Running       0          10m
kube-system      storage-provisioner           1/1     Running       0          10m
metallb-system   controller-6f655c76ff-gszgf   1/1     Running       0          10m
metallb-system   speaker-d4ktr                 1/1     Running       0          10m
$ kubectl get crds -A
No resources found
$ kubectl get crds
No resources found

Modify a file
Execute ./skaffold.sh dev then modify a go file and observe that the new image is deployed in the cluster.
$ ./skaffold.sh dev
Listing files to watch...
 - kubeshop/kusk-gateway
Generating tags...
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:latest
Checking cache...
 - kubeshop/kusk-gateway: Not found. Building
Starting build...
Found [kgw] context, using local docker daemon.
Building [kubeshop/kusk-gateway]...
Target platforms: [linux/amd64]
[+] Building 16.2s (18/18) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 38B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 93B                                                                                0.0s
 => [internal] load metadata for gcr.io/distroless/static:nonroot                                                                                0.4s
 => [internal] load metadata for docker.io/library/golang:1.19-alpine                                                                                1.1s
 => [auth] library/golang:pull token for registry-1.docker.io                                                                                0.0s
 => [builder 1/8] FROM docker.io/library/golang:1.19-alpine@sha256:f3e683657ddf73726b5717c2ff80cdcd9e9efb7d81f77e4948fada9a10dc7257                                            0.0s
 => [stage-1 1/4] FROM gcr.io/distroless/static:nonroot@sha256:380318dd91fd3bea73ae5fe1eb4d795ef7923f576e6f5f8d4de6ef1ea18ed540                                                0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 37.00kB                                                                                0.0s
 => CACHED [builder 2/8] WORKDIR /workspace                                                                                0.0s
 => CACHED [builder 3/8] COPY go.mod go.mod                                                                                0.0s
 => CACHED [builder 4/8] COPY go.sum go.sum                                                                                0.0s
 => CACHED [builder 5/8] RUN go mod download                                                                                0.0s
 => [builder 6/8] COPY . .                                                                                0.1s
 => [builder 7/8] RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -v -ldflags "-X 'github.com/kubeshop/kusk-gateway/pkg/analytics.TelemetryToken=$TELEMETRY_TOKEN' -X 'gi  14.4s
 => [builder 8/8] RUN mkdir -m 00755 /opt/manager                                                                                0.3s
 => CACHED [stage-1 2/4] COPY --from=builder /workspace/manager .                                                                                0.0s
 => CACHED [stage-1 3/4] COPY --from=builder --chown=65532:65532 /opt/manager /opt/manager                                                                                0.0s
 => exporting to image                                                                                0.0s
 => => exporting layers                                                                                0.0s
 => => writing image sha256:feae312d1f6c4e4deae0e37c73bb5f23682cc797c9bc799bb96ef810e7a4fdbf                                                                                0.0s
 => => naming to docker.io/kubeshop/kusk-gateway:latest                                                                                0.0s
Build [kubeshop/kusk-gateway] succeeded
Tags used in deployment:
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:feae312d1f6c4e4deae0e37c73bb5f23682cc797c9bc799bb96ef810e7a4fdbf
Starting deploy...
 - customresourcedefinition.apiextensions.k8s.io/apis.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/envoyfleet.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/staticroutes.gateway.kusk.io configured
 - namespace/kusk-system unchanged
 - customresourcedefinition.apiextensions.k8s.io/apis.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/envoyfleet.gateway.kusk.io configured
 - customresourcedefinition.apiextensions.k8s.io/staticroutes.gateway.kusk.io configured
 - serviceaccount/kusk-gateway-manager unchanged
 - role.rbac.authorization.k8s.io/kusk-gateway-leader-election-role unchanged
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-envoyfleet-manager-role unchanged
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-manager-role configured
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-metrics-reader unchanged
 - clusterrole.rbac.authorization.k8s.io/kusk-gateway-proxy-role unchanged
 - rolebinding.rbac.authorization.k8s.io/kusk-gateway-leader-election-rolebinding unchanged
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-envoyfleet-manager-rolebinding unchanged
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-manager-rolebinding unchanged
 - clusterrolebinding.rbac.authorization.k8s.io/kusk-gateway-proxy-rolebinding unchanged
 - configmap/kusk-gateway-manager unchanged
 - service/kusk-gateway-auth-service configured
 - service/kusk-gateway-manager-metrics-service configured
 - service/kusk-gateway-validator-service configured
 - service/kusk-gateway-webhooks-service configured
 - service/kusk-gateway-xds-service configured
 - deployment.apps/kusk-gateway-manager configured
 - mutatingwebhookconfiguration.admissionregistration.k8s.io/kusk-gateway-mutating-webhook-configuration configured
 - validatingwebhookconfiguration.admissionregistration.k8s.io/kusk-gateway-validating-webhook-configuration configured
 - configmap/config unchanged
Waiting for deployments to stabilize...
 - kusk-system:deployment/kusk-gateway-manager: waiting for rollout to finish: 1 old replicas are pending termination...
 - kusk-system:deployment/kusk-gateway-manager is ready.
Deployments stabilized in 11.13 seconds
Starting post-deploy hooks...
sleeping for 2 seconds before applying `config/samples/gateway_v1_envoyfleet.yaml`
Completed post-deploy hooks
 - envoyfleet.gateway.kusk.io/default configured
Waiting for deployments to stabilize...
Deployments stabilized in 52.110579ms
Press Ctrl+C to exit
[manager] METRICS_BIND_ADDR=<IP_ADDRESS>:8080
[kube-rbac-proxy] I1011 12:57:17.430810       1 main.go:190] Valid token audiences:
[manager] HEALTH_PROBE_BIND_ADDR=:8081
[manager] ENVOY_CONTROL_PLANE_BIND_ADDR=:18000
[manager] ENABLE_LEADER_ELECTION=false
[manager] LOG_LEVEL=INFO
[manager] WEBHOOK_CERTS_DIR=/tmp/k8s-webhook-server/serving-certs
[manager] ANALYTICS_ENABLED=true
[kube-rbac-proxy] I1011 12:57:17.430853       1 main.go:262] Generating self signed cert as no cert is provided
[manager]
[manager] {"level":"info","ts":1665493037.510534,"logger":"controller-runtime.metrics","caller":"logr@v1.2.3/logr.go:261","msg":"Metrics server is starting to listen","addr":"<IP_ADDRESS>:8080"}
[manager] {"level":"info","ts":1665493037.5108223,"logger":"setup","caller":"manager/main.go:244","msg":"Starting Envoy xDS API Server"}
[kube-rbac-proxy] I1011 12:57:17.686846       1 main.go:311] Starting TCP socket on <IP_ADDRESS>:8443
[kube-rbac-proxy] I1011 12:57:17.686986       1 main.go:318] Listening securely on <IP_ADDRESS>:8443
[manager] {"level":"info","ts":1665493037.5108833,"caller":"authz/authz.go:53","msg":"authz listening on","address":":19000"}
[manager] {"level":"info","ts":1665493037.5109699,"logger":"EnvoyConfigManager","caller":"manager/envoy_config_manager.go:79","msg":"control plane server listening","address":":18000"}
[manager] {"level":"info","ts":1665493038.3406372,"logger":"setup","caller":"manager/main.go:289","msg":"Starting K8s secrets watch for the TLS certificates renewal events"}
[manager] {"level":"info","ts":1665493039.900979,"logger":"setup","caller":"manager/main.go:309","msg":"Created admission webhook server certificates and updated K8s Manager's Admission configs with the generated CA certificate"}
[manager] {"level":"info","ts":1665493039.9010339,"logger":"setup","caller":"manager/main.go:311","msg":"Registering EnvoyFleet mutating and validating webhooks to the webhook server"}
[manager] {"level":"info","ts":1665493039.90111,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/mutate-gateway-kusk-io-v1alpha1-envoyfleet"}
[manager] {"level":"info","ts":1665493039.9012144,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/validate-gateway-kusk-io-v1alpha1-envoyfleet"}
[manager] {"level":"info","ts":1665493039.901379,"logger":"setup","caller":"manager/main.go:327","msg":"Registering API mutating and validating webhooks to the webhook server"}
[manager] {"level":"info","ts":1665493039.9014447,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/mutate-gateway-kusk-io-v1alpha1-api"}
[manager] {"level":"info","ts":1665493039.9015114,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/validate-gateway-kusk-io-v1alpha1-api"}
[manager] {"level":"info","ts":1665493039.90162,"logger":"setup","caller":"manager/main.go:343","msg":"Registering StaticRoute mutating and validating webhooks to the webhook server"}
[manager] {"level":"info","ts":1665493039.9016645,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/mutate-gateway-kusk-io-v1alpha1-staticroute"}
[manager] {"level":"info","ts":1665493039.9017282,"logger":"controller-runtime.webhook","caller":"webhook/server.go:148","msg":"Registering webhook","path":"/validate-gateway-kusk-io-v1alpha1-staticroute"}
[manager] {"level":"info","ts":1665493039.9017673,"logger":"setup","caller":"manager/main.go:357","msg":"Starting manager"}
[manager] {"level":"info","ts":1665493039.901852,"logger":"controller-runtime.webhook.webhooks","caller":"webhook/server.go:216","msg":"Starting webhook server"}
[manager] {"level":"info","ts":1665493039.90191,"caller":"manager/internal.go:362","msg":"Starting server","kind":"health probe","addr":"[::]:8081"}
[manager] {"level":"info","ts":1665493039.9019277,"caller":"manager/internal.go:362","msg":"Starting server","path":"/metrics","kind":"metrics","addr":"<IP_ADDRESS>:8080"}
[manager] {"level":"info","ts":1665493039.902084,"logger":"controller-runtime.certwatcher","caller":"logr@v1.2.3/logr.go:261","msg":"Updated current TLS certificate"}
[manager] {"level":"info","ts":1665493039.902163,"logger":"controller-runtime.webhook","caller":"logr@v1.2.3/logr.go:261","msg":"Serving webhook server","host":"","port":9443}
[manager] {"level":"info","ts":1665493039.9021924,"logger":"controller-runtime.certwatcher","caller":"logr@v1.2.3/logr.go:261","msg":"Starting certificate watcher"}
[manager] {"level":"info","ts":1665493040.0029674,"caller":"controller/controller.go:185","msg":"Starting EventSource","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet","source":"kind source: *v1alpha1.EnvoyFleet"}
[manager] {"level":"info","ts":1665493040.003018,"caller":"controller/controller.go:185","msg":"Starting EventSource","controller":"staticroute","controllerGroup":"gateway.kusk.io","controllerKind":"StaticRoute","source":"kind source: *v1alpha1.StaticRoute"}
[manager] {"level":"info","ts":1665493040.0030375,"caller":"controller/controller.go:193","msg":"Starting Controller","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet"}
[manager] {"level":"info","ts":1665493040.0030437,"caller":"controller/controller.go:193","msg":"Starting Controller","controller":"staticroute","controllerGroup":"gateway.kusk.io","controllerKind":"StaticRoute"}
[manager] {"level":"info","ts":1665493040.0031295,"caller":"controller/controller.go:185","msg":"Starting EventSource","controller":"api","controllerGroup":"gateway.kusk.io","controllerKind":"API","source":"kind source: *v1alpha1.API"}
[manager] {"level":"info","ts":1665493040.0031805,"caller":"controller/controller.go:193","msg":"Starting Controller","controller":"api","controllerGroup":"gateway.kusk.io","controllerKind":"API"}
[manager] {"level":"info","ts":1665493040.1039643,"caller":"controller/controller.go:227","msg":"Starting workers","controller":"api","controllerGroup":"gateway.kusk.io","controllerKind":"API","worker count":1}
[manager] {"level":"info","ts":1665493040.1039562,"caller":"controller/controller.go:227","msg":"Starting workers","controller":"staticroute","controllerGroup":"gateway.kusk.io","controllerKind":"StaticRoute","worker count":1}
[manager] {"level":"info","ts":1665493040.1040132,"caller":"controller/controller.go:227","msg":"Starting workers","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet","worker count":1}
[manager] {"level":"info","ts":1665493040.1041217,"logger":"envoy-fleet-controller","caller":"controllers/envoyfleet_controller.go:68","msg":"EnvoyFleet changed","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet","envoyFleet":{"name":"default","namespace":"default"},"namespace":"default","name":"default","reconcileID":"10ddb422-9c9d-4596-8ba8-2996c1627e69","changed":"default/default"}
[manager] {"level":"info","ts":1665493040.4170942,"logger":"envoy-fleet-controller","caller":"controllers/envoyfleet_controller.go:113","msg":"Calling Config Manager due to change in Envoy Fleet resource","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet","envoyFleet":{"name":"default","namespace":"default"},"namespace":"default","name":"default","reconcileID":"10ddb422-9c9d-4596-8ba8-2996c1627e69","changed":"default/default"}
[manager] {"level":"info","ts":1665493040.4171255,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Started updating configuration","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.417136,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Getting APIs for the fleet","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4184847,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Successfully processed APIs","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4185064,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Getting Static Routes","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4185386,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Successfully processed Static Routes","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4185548,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Processing EnvoyFleet configuration","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4209602,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Generating configuration snapshot","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4215462,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Configuration snapshot was generated for the fleet","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4216008,"logger":"CacheManager","caller":"manager/cache_manager.go:114","msg":"assigning active snapshot and updating all nodes","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4216113,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Configuration snapshot deployed for the fleet","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4216185,"logger":"controller.config-manager","caller":"logr@v1.2.3/logr.go:261","msg":"Finished updating configuration","fleet":"default.default"}
[manager] {"level":"info","ts":1665493040.4216316,"logger":"envoy-fleet-controller","caller":"controllers/envoyfleet_controller.go:124","msg":"Reconciled EnvoyFleet 'default' resources","controller":"envoyfleet","controllerGroup":"gateway.kusk.io","controllerKind":"EnvoyFleet","envoyFleet":{"name":"default","namespace":"default"},"namespace":"default","name":"default","reconcileID":"10ddb422-9c9d-4596-8ba8-2996c1627e69"}
[manager] {"level":"error","ts":1665493047.4272718,"logger":"SnapshotCache","caller":"manager/envoy_snapshot_cache_logger.go:58","msg":"node does not exist","stacktrace":"github.com/kubeshop/kusk-gateway/internal/envoy/manager.EnvoySnapshotCacheLogger.Warnf\n\t/workspace/internal/envoy/manager/envoy_snapshot_cache_logger.go:58\ngithub.com/envoyproxy/go-control-plane/pkg/cache/v3.(*snapshotCache).GetStatusInfo\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/pkg/cache/v3/simple.go:588\ngithub.com/kubeshop/kusk-gateway/internal/envoy/manager.(*cacheManager).IsNodeExist\n\t/workspace/internal/envoy/manager/cache_manager.go:54\ngithub.com/kubeshop/kusk-gateway/internal/envoy/manager.(*Callbacks).OnStreamRequest\n\t/workspace/internal/envoy/manager/envoy_callbacks.go:65\ngithub.com/envoyproxy/go-control-plane/pkg/server/sotw/v3.(*server).process\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/pkg/server/sotw/v3/server.go:181\ngithub.com/envoyproxy/go-control-plane/pkg/server/sotw/v3.(*server).StreamHandler\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/pkg/server/sotw/v3/server.go:256\ngithub.com/envoyproxy/go-control-plane/pkg/server/v3.(*server).StreamHandler\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/pkg/server/v3/server.go:183\ngithub.com/envoyproxy/go-control-plane/pkg/server/v3.(*server).StreamRoutes\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/pkg/server/v3/server.go:199\ngithub.com/envoyproxy/go-control-plane/envoy/service/route/v3._RouteDiscoveryService_StreamRoutes_Handler\n\t/go/pkg/mod/github.com/envoyproxy/go-control-plane@v0.10.3/envoy/service/route/v3/rds.pb.go:341\ngoogle.golang.org/grpc.(*Server).processStreamingRPC\n\t/go/pkg/mod/google.golang.org/grpc@v1.47.0/server.go:1542\ngoogle.golang.org/grpc.(*Server).handleStream\n\t/go/pkg/mod/google.golang.org/grpc@v1.47.0/server.go:1624\ngoogle.golang.org/grpc.(*Server).serveStreams.func1.2\n\t/go/pkg/mod/google.golang.org/grpc@v1.47.0/server.go:922"}
[manager] {"level":"info","ts":1665493047.427347,"logger":"CacheManager","caller":"manager/cache_manager.go:82","msg":"setting new node snapshot","nodeID":"default-69d7898855-d76vr","fleet":"default.default"}
Watching for changes...
Generating tags...
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:latest
Checking cache...
 - kubeshop/kusk-gateway: Not found. Building
Starting build...
Found [kgw] context, using local docker daemon.
Building [kubeshop/kusk-gateway]...
Target platforms: [linux/amd64]
[+] Building 15.9s (17/17) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 38B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 93B                                                                                0.0s
 => [internal] load metadata for gcr.io/distroless/static:nonroot                                                                                0.5s
 => [internal] load metadata for docker.io/library/golang:1.19-alpine                                                                                0.6s
 => CACHED [stage-1 1/4] FROM gcr.io/distroless/static:nonroot@sha256:380318dd91fd3bea73ae5fe1eb4d795ef7923f576e6f5f8d4de6ef1ea18ed540                                         0.0s
 => [builder 1/8] FROM docker.io/library/golang:1.19-alpine@sha256:f3e683657ddf73726b5717c2ff80cdcd9e9efb7d81f77e4948fada9a10dc7257                                            0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 49.34kB                                                                                0.0s
 => CACHED [builder 2/8] WORKDIR /workspace                                                                                0.0s
 => CACHED [builder 3/8] COPY go.mod go.mod                                                                                0.0s
 => CACHED [builder 4/8] COPY go.sum go.sum                                                                                0.0s
 => CACHED [builder 5/8] RUN go mod download                                                                                0.0s
 => [builder 6/8] COPY . .                                                                                0.1s
 => [builder 7/8] RUN GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -v -ldflags "-X 'github.com/kubeshop/kusk-gateway/pkg/analytics.TelemetryToken=$TELEMETRY_TOKEN' -X 'gi  14.4s
 => [builder 8/8] RUN mkdir -m 00755 /opt/manager                                                                                0.3s
 => [stage-1 2/4] COPY --from=builder /workspace/manager .                                                                                0.0s
 => [stage-1 3/4] COPY --from=builder --chown=65532:65532 /opt/manager /opt/manager                                                                                0.0s
 => exporting to image                                                                                0.3s
 => => exporting layers                                                                                0.3s
 => => writing image sha256:87c1c6ca8dd29734a4b96c81c408e6369a34949822f7e35c98db15e7ee8cb60a                                                                                0.0s
 => => naming to docker.io/kubeshop/kusk-gateway:latest                                                                                0.0s
Build [kubeshop/kusk-gateway] succeeded
Tags used in deployment:
 - kubeshop/kusk-gateway -> kubeshop/kusk-gateway:87c1c6ca8dd29734a4b96c81c408e6369a34949822f7e35c98db15e7ee8cb60a
Starting deploy...
 - deployment.apps/kusk-gateway-manager configured
Waiting for deployments to stabilize...
 - kusk-system:deployment/kusk-gateway-manager: container manager terminated with exit code 1
    - kusk-system:pod/kusk-gateway-manager-8547cd469c-7bml5: container manager terminated with exit code 1
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] METRICS_BIND_ADDR=<IP_ADDRESS>:8080
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] HEALTH_PROBE_BIND_ADDR=:8081
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] ENVOY_CONTROL_PLANE_BIND_ADDR=:18000
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] ENABLE_LEADER_ELECTION=false
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] LOG_LEVEL=INFO
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] WEBHOOK_CERTS_DIR=/tmp/k8s-webhook-server/serving-certs
      > [kusk-gateway-manager-8547cd469c-7bml5 manager] ANALYTICS_ENABLED=true
 - kusk-system:deployment/kusk-gateway-manager failed. Error: container manager terminated with exit code 1.
WARN[0062] Skipping deploy due to error:1/1 deployment(s) failed  subtask=-1 task=DevLoop
Watching for changes...

Debugging
To start in debug mode run:
$ ./skaffold dev
$ dlv connect <IP_ADDRESS>:56268
(dlv) stack
0  0x000000000044235d in runtime.gopark
   at /usr/local/go/src/runtime/proc.go:364
1  0x0000000000451e89 in runtime.selectgo
   at /usr/local/go/src/runtime/select.go:328
2  0x0000000001cc0f1f in sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).Start
   at /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.3/pkg/manager/internal.go:500
3  0x00000000023d051c in main.main
   at /workspace/cmd/manager/main.go:358
4  0x0000000000441f38 in runtime.main
   at /usr/local/go/src/runtime/proc.go:250
5  0x0000000000471e81 in runtime.goexit
   at /usr/local/go/src/runtime/asm_amd64.s:1594

As can seen from above, that's controller's stackframe.
TODO

Currently I've hardcoded a value runAsNonRoot: false in config/manager/manager.yaml to enable debugging. This isn't ideal or correct. There are better ways of doing this.
Multiple Platform Images: Investigate https://github.com/GoogleContainerTools/skaffold/tree/main/examples/custom-buildx.

References
See https://m0sh1x2.com/posts/optimizing-local-go-kubernetes-deployments/.
Signed-off-by: Mohamed Bana<EMAIL_ADDRESS>

This is looking legit.
Can you add a README for it so it is easy for everyone to use it

Done in SKAFFOLD.md and linked to in README.md.


Update README.md

Correct format for License title

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Hi @gautric, sorry but this is to little for a PR.
If you are interested in contributing to Uberfire/AppFormer, ping me on my email or freenode (#appformer) and I can guide you on a first starter task.


Set -headerpad_max_install_names on Darwin for targets that need binary header padding to rename paths

Fixes #2332

Can one of the admins verify this patch?

why this test only?

also this doesn't select based on platform

Oops. Accidentally did a force push on a different machine without pulling. The select should be there now.
I only noticed it on this test the first time through but I'll run everything again to see if there are others that need this too.

Do you understand why it fixes anything, and what the implications are for setting this globally?  Cause I don't :)

All of the targets that have this problem should be covered now.
It seems that the problem is occurring when Bazel's cc_wrapper script renames all the paths in the binary with the paths relative to the binary (since relpath in OS X doesn't really work). For these targets, the load commands in the binary end up being larger after the renaming, which would require relinking. The -headerpad_max_install_names flag would be needed to ensure there is enough room in the binary for the larger load statements.
On that note, @damienmg, do you think it would be a good idea to set -headerpad or -headerpad_max_install_names by default in osx_cc_wrapper.sh or should we just set the linkopt for targets that need them?

@davidzchen I think this make more sense to add it to the CROSSTOOL file for darwin in Bazel.

Jenkins, test this please.

We probably want to accept this anyway, and remove it once the fix has made its way into a bazel release.

Is this patch ready to be merged?

Rebased on master.
Do we still want to merge this PR?

@tensorflow-jenkins test this please


Retrieve dimensions for a window specified via its window handle

Short overview
As a user I want to be able to retrieve the window coordinates (x, y, width, height) for a window specified via its window handle.
Use case
Limiting input to e.g. image search

Closed by #23


[FSDP2][NF4Tensor][2/n] implement torch.chunk and other ops

why FSDP needs those ops

torch.chunk / aten.split.Tensor: dim0 sharding on parameters torch.chunk(tensor, world_size, dim=0)
tensor.new_zeros / aten.new_zeros.default: allocate storage for padded params.
tensor[:end_idx] / aten.slice.Tensor and tensor.copy_: copy sharded params into padded params
tensor.view(-1) / aten.view.default: flatten ND tensors into 1D
torch.as_strided(tensor, orig_size) / aten.as_strided.default: restore 1D tensors to ND
tensor.pin_memory: move cpu tensor to pin memory for nonblocking D2H copy
tensor.cpu(): move gpu tensor to cpu

unit test: pytest test/dtypes/test_nf4.py
run fsdp in TorchTune

git clone https://github.com/weifengpy/torchtune.git
cd torchtune && pip install -e ".[dev]"
tune download meta-llama/Llama-2-7b-hf --output-dir /tmp/Llama-2-7b-hf --hf-token <HF_TOKEN>
tune run --nnodes 1 --nproc_per_node 2 lora_finetune_distributed --config recipes/configs/llama2/7B_qlora_single_device.yaml max_steps_per_epoch=1

user flow and gaps

step 1: load llama2/3 from HF checkpoints. gap is memory spikes in NF4Tensor.from_tensor https://github.com/pytorch/ao/issues/205
step 2: training loop

numerics https://github.com/pytorch/ao/issues/202
perf and compare with answer.ai https://github.com/pytorch/ao/issues/203
memory: 500 MB unexplained
torch.compile(TransformerBlock)
cpu offloading with DTensor + fused adam https://github.com/pytorch/ao/issues/205

step 3: save checkpoint: verify if DTensor(NF4Tensor).full_tensor + torch.save works for NF4Tensor
step 4: load checkpoint to resume finetuning: verify if torch.load + DTensor(NF4Tensor).distributed works

Didn't forget to review, will give it a thorough read this afternoon

Thank you for the heroic work. Let's open up an issue with known gaps

yes, will open issue for the renaming work

Thank you for the heroic work. Let's open up an issue with known gaps

opened issues and linked them here


[FEATURE]: Implement plugin-style interface for mux/demux

Feature Type
Changing existing functionality in Angler
Problem Description
The current mux/demux interface is a little painful to use and requires users to manually create their own nodes for launch.
Feature Description
Create a template interface to allow generating a desired mux/demux from a configuration file. The inspiration for this interface comes from the joy_teleop package which provides a very nice interface for mapping button configurations to commands. I think that a similar approach can be applied here.
Alternative Solutions
No response
Additional Context
No response

This will get resolved when I integrate ros2_control by letting users implement their own hardware interfaces


exposing the type t

would be useful, otherwise libraries who wish to use this one need to adapt their code (thinking about cstruct).  also, while in certain applications the wrapping behaviour is great to have, others need to know about overflows (I developed https://github.com/hannesm/usane for this) -- it would be great to have interoperability between cstruct, ocaml-integers, and usane (and this can be achieved by having the type t = int (or int32 / int64) publicly exposed.
OTOH, I'm still not sure whether exposing this type is a good idea, you clearly loose local reasoning inside of the library (and thus safety guarantees).  but reimplementing all operations again (like land), once in the stdlib, and once more in ocaml-integers, looks like a bad idea to me.  also, in case cstruct will depend on ocaml-integers, there'd be a coercion dance needed to get each value into a non-wrapping representation.
thoughts?

For signed integers the types are already exposed.
Exposing type t = private int for UInt8 and UInt16 is a possibility.
For the other unsigned integer types there's nothing to expose: Uint32.t and UInt64.t are implemented as custom types, not using int32 and int64, so that polymorphic comparisons work correctly.

#4 exposes UInt8.t,  UInt16.t and UChar.t as private int.  I think that's all that can be exposed.


[Hub Generated] Review request for Microsoft.DesktopVirtualization to add version preview/2023-11-01-preview

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[x] New API version. (Such PR should have been generated with OpenAPI Hub).
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

The remaining LintDiff errors are all resourceNameRestriction checks for parameters that existed prior to this apiVersion and are currently in use.

/azp run

The remaining LintDiff errors are all resourceNameRestriction checks for parameters that existed prior to this apiVersion and are currently in use.

Please create a workitem to track how you would fix this anti-pattern before next version, and link the work item in the suppression, see https://github.com/Azure/autorest/blob/main/docs/generate/suppress-warnings.md

Added the suppression

      "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"

Use latest common-type v5 when possible

Refers to: specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json:6005 in d7e5b31. [](commit_id = d7e5b3174679ce744b0c549911c9eae12dc91645, deletion_comment = False)

      "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",

Use latest common-type v5 when possible

Refers to: specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json:6013 in d7e5b31. [](commit_id = d7e5b3174679ce744b0c549911c9eae12dc91645, deletion_comment = False)

      "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/systemData",

Use latest common-type v5 when possible

Refers to: specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json:6046 in d7e5b31. [](commit_id = d7e5b3174679ce744b0c549911c9eae12dc91645, deletion_comment = False)

    "deleteOriginalVm": {

Consider use enum over boolean, if this will expand in the future

Refers to: specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2023-11-01-preview/desktopvirtualization.json:6105 in d7e5b31. [](commit_id = d7e5b3174679ce744b0c549911c9eae12dc91645, deletion_comment = False)

Same comments for other places in the PR, non-blocking comments, signing off

/azp run

/azp run

/azp run

Pushed a fix related to this issue https://stackoverflow.microsoft.com/questions/378322

/pr RequestMerge


Cannot get example from https://docs.microsoft.com/en-us/dotnet/standard/native-interop to work in 32-bit .NET Core

Cannot get example from https://docs.microsoft.com/en-us/dotnet/standard/native-interop to work in 32-bit .NET Core
I have tried to setup a new .NET Core console app, to call the SystemTime as in the example in the above link. The relevant snippet of code is pasted below. If the build is 32 bit, Visual Studio crashes with a "dotnet has crashed" error. If the build is 64 bit however, everything works seamlessly.
I can get the MessageBox to work in a 32 bit build, so it's something about GetSystemTime / kernel32.dll that causes the crash.
If this is well-known, that is fine - just thought it might be worth pointing out in the original documentation.
        [DllImport("user32.dll")]
        public static extern int MessageBox(IntPtr hWnd, String text, String caption, int options);

        [DllImport("kernel32.dll")]
        static extern void GetSystemTime(SystemTime systemTime);

        [StructLayout(LayoutKind.Sequential)]
        class SystemTime
        {
            public ushort Year;
            public ushort Month;
            public ushort DayOfWeek;
            public ushort Day;
            public ushort Hour;
            public ushort Minute;
            public ushort Second;
            public ushort Milsecond;
        }

        public static void Main(string[] args)
        {
            var st = new SystemTime();
            GetSystemTime(st);
            MessageBox(IntPtr.Zero, $"{st.Year}", "Attention!", 0);
        }

Thanks for reporting this @rlordcardano. A lot of our content in the .NET Guide needs to be reviewed to make sure it works with .NET Core. We'll take a look at this issue.

Ping @rlordcardano Are you still seeing this? Did you try the solution @shrah mentioned?

@shrah @BillWagner @mairaw Apologies for late reply, I didn't spot this one in the many messages I get from GitHub. I just tried the suggested solution, it works perfectly now!


Split persistent volume concept article

This is about separating storage class concept from the persistent-volumes page.
The persistent-volumes page is getting too large for maintenance.
NOTE
This PR is not changing the contents of the doc.
But I do have a plan to improve the storage docs:

merge downwardAPI related contents to the downwardAPI volume doc
add doc about local volume type
add doc about storageos volume type
improve doc about configMap volume type
improve doc about flexvolume wrt dynamic discovery (kubernetes/kubernetes#50031)

This change is

@tengqm 👋 Would you please update the link in this file to reflect the change? I'm also happy to do it for you, if you'll un-check and re-check the box to allow edits from maintainers.
Thanks for separating this content into more discrete chunks. 👍

@zacharysarah fixed link; rebased on master head; rechecked allow edits. PTAL.


Display errors even if some data is returned

Errors for invalid queries were displayed only if no data was returned (for any of the queries).
After these changes we display errors for invalid queries even is some data is returned for other queries.

We have versions 1.0.0 and 1.1.0 in Changelog. Now also 1.1.1.
But in zpackage.jsonwe still have"version": "1.0.0", shouldn't we change version in package.json`?


Game & User Stats - Screen

BEFORE SUBMITTING AN ISSUE CHECK THE FOLLOWING:

[x] I checked existing issues.
[x] This is not a support question (which can be answered on Slack).
[x] This issue is on the web client (not API, Lambda, or Bots)

FEATURE REQUEST
- Describe the feature you would like to see
As a user, I would like to view statistic that indicate my strengths and areas for improvement.
- Why you need it
The API will log  interesting statistics (i.e. number of games won, number of players destroyed). We should displays these stats to the user to add an element of gamification.
- How it should work
We'll need designs to determine what this will look like, as well as the list of logged stats from the API.
Include any relevant documentation that will help prompt a discussion!

Total Kills
Number of hrs played
overkill/multi kill
healing rate
average health

(not complete)

reach stat: length of code executed


#ccdfb21 (force preset) is breaking change

The change from the commit: #ccdfb21 completely prevented me from using the project.
I have a project that for some reasons must use cloudflare-module as a preset and I am in the process of migrating the functionality and infrastructure to cloudflare-pages one by one.
In v0.5.15 which enforces the cloudflare-pages preset, I cannot make any changes and deploy to cloudflare-module because this preset is overwritten with a different value.
I will note here that cloudflare-module works very well in dev and production. The entire @nuxthub/core works perfectly on both presets: cloudflare-pages and cloudflare-module.
I know because I have been using @nuxthub/core and the cloudflare-module preset in production for several days now and everything works.
At this moment I have pin version v0.5.14 in the project.

I agree. As dynamic sub-domains is not supported on Pages yet, we're also forced to build as cloudflare worker/module.

First of all, I am sorry that this break your applications.
Second, I am very pleased to see that it also works for cloudflare-module!
Let me open a PR to fix that, you will need to specify the preset in your nuxt.config.ts:
export default defineNuxtConfig({
  nitro: {
    preset: 'cloudflare-pages'
  }
})

Is it good for both of you @oritwoen @okydk ?

You can now safely upgrade to v0.5.16


bounds check parameter settings

e.g., JM ranker doesn't ensure lambda is on [0,1]

fixed in 477599cc29a567954890c263bd58283d8422fbb7


Android Operation not supported on transport endpoint

I have a ath9k usb interface already in monitor mode created as virtual interface
iw phy phy1 interface add mon0 type monitor
I tested airodump-ng 1.6.0 and works without issue but when I run hcxdumptool -i mon0 on android 11 LOS 18.1 I have this error
# ./hcxdumptool -i mon0
initialization of hcxdumptool 6.2.4-21-g0fe3b96...
warning possible interfere: wpa_supplicant is running with pid 5043

failed to detect wlan interface: Operation not supported on transport endpoint
warning: failed to init socket

terminating...
1 driver error encountered
failed to restore old SIOCSIWMODE: No such device
failed to restore old SIOCSIFFLAGS and to bring interface up: No such device

# iw dev
phy#9
	Interface mon0
		ifindex 57
		wdev 0x900000002
		addr c4:e9:XX:XX:XX:XX
		type monitor

I tried also to set selinux in permissive mode but no changes.

Today I compile the kernel on android and I inserted
CONFIG_CFG80211_WEXT=y
all errors on ioctls disappear, --check_driver works give me only a warning on "interface already in monitor mode".
Get channel works better before start from 0 now the first channel is 1.
CONFIG_CFG80211_WEXT_EXPORT exist only from kernel 4.xx and I have a 3.18, my device is old.

 The problem is related to the maintainer of the kernel. If he decide to disable some values, some features will not work (as expected).
BTW:
On "CONFIG_CFG80211_WEXT" hcxdumptool is able to set monitor and you don't need a third party tool to do this.
In that case, the remaining warning "interface already in monitor mode" will disappear.


REFACTOR: jsonapi test error responses

Make handling error responses better.

Coverage remained the same at 26.175% when pulling 21ae41be7018c8f7f25497fc7282fa5181535f8e on TS_jsonapi_test_refactor into 92e9b92ca915fcffc079e592e242daf9beb12af6 on cryptolistings.


THRIFT-4342: update ruby tests to use rspec 3, updated all dependencies for ruby

Closing, will re-open once the dist jobs are working.


http to https on different server

I am have a git repo that uses lfs.  The LFS server is a totally different machine.
github<EMAIL_ADDRESS>lfs https://machine.domain:9999/artifactory/mystore
it was started with
/lfscache --url https://machine.domain:1339/artifactory/git_lfs_store/info/lfs --directory /srv/docker-helper/shares/cache/gitcache/lfs --http-addr=<IP_ADDRESS>:9876
The error
level=error ts=2019-12-12T00:41:04.943901096Z event=proxying request=https://machine.domain:1339/artifactory/git_lfs_store/info/lfs/objects/batch err="tls: first record does not look like a TLS handshake"
But I do not see network traffic going to the lfs-store machine.
Q1>  in the url , do I need .../info/lfs ?  I think it might work better without the added /info/lfs
Q2>  looking at the server code I see
'''
http: req.TLS == nil
'''
the input request is http but the outgoing needs TLS
it would look like this    clone-machine : http <->  lfsproxy : https <-> lfs-store

I have worked around all the issues until auth.   in server.go:batch, I get a 401 return and I want to pass that back to the git-lfs.
How do I pass the auth request back?

Hey,
It should just be a case of using:
lfscache --url https://machine.domain:1339/artifactory/git_lfs_store/info/lfs --directory /srv/docker-helper/shares/cache/gitcache/lfs --http-addr=<IP_ADDRESS>:9876

...and then in your repository directory, ensure that the proxy server will be used:
git config lfs.url http://<IP_ADDRESS>:9876/

# confirm with
git lfs env | grep Endpoint

The upstream server running on HTTPS should not be an issue. We've seen several successful deployments where this has been the case (Github and Bitbucket both have HTTPS endpoints).
If the upstream server requires authentication, that requirement should be passed through without modification, usually resulting in git lfs prompting for a username and password.
/info/lfs is server dependent, it might be that Artifactory does not require this. Have you tried using --url https://machine.domain:1339/artifactory/git_lfs_store?

@svsintel Is this still an issue?

Still having issues with lfs and artifactory, but the authentication issues is fixed.


Add option to skip loading of nodes.

This change allows fasm2bels to skip loading nodes, which saves some time.

@acomodi Poke, this is required for https://github.com/SymbiFlow/symbiflow-xc-fasm2bels/pull/10

I am thinking whether we should also use this repo within arch-defs as happened with fasm2bels.

We probably should.  This particular feature isn't needed by arch-defs, but it's not great to have two copies.  This repo needs tests and formatting stood up, so it isn't ready for prime time out of the gate.


updated to latest TEAL devel

Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
See #1258
What are the significant changes in functionality due to this change request?
Updates TEAL since ... a long time.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

both LOGOS and HERON are failed due to the update of TEAL. Does this affect the HERON workshop @PaulTalbot-INL? If so,  we can postpone the merge of this PR. In addition, I also need to figure out the failure of LOGOS due to TEAL updates.

This changes the behavior of the interest handling in TEAL to work as expected, which does yield a diff in two tests in HERON (since the underlying assumptions about interest handling changed). It doesn't cause failures in HERON, but would be nice to postpone until we can update HERON to reflect this new TEAL version.
I think the original behavior can be obtained by modifying the "interest" tag for specific cashflows; I think the associated TEAL PR has more details on those changes.

@PaulTalbot-INL FYI, I have merged Josh's PR #1784, which I think it will break TEAL. Could you update TEAL with the current devel of RAVEN first, and then update the TEAL submodule ID for this PR? Sorry for the inconvenience.

You can see this is over a month old; I made this PR as a demonstration for how to update the TEAL submodule in RAVEN, but never expected it would go this long without merging.
I will suggest that you pass on maintenance requests to @worseliz as the TEAL owner.

Closing as this update to TEAL was broken by RAVEN PR #1784.


fix: Add rum tracking to form block

Adding rum tracking to form block.
https://main--helix-website--adobe.hlx.page/developer/forms
vs.
https://main--helix-website--pareesh.hlx.page/developer/forms
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Seems outdated. Closing for now, feel free to reopen and refresh if needed.


feat(structured date): unique table names for SQLite databases

Description
first step for https://github.com/dust-tt/tasks/issues/637
We are currently enforcing uniqueness on the table name per data source. The rationale is that we need unique table names when constructing the database or returning the schema, as a SQLite database cannot have several tables with the same name (obviously) and a model cannot generate a proper query if several tables have identical names. This is problematic because:

it forces us to add some unique identifier in table names (from eg google drive) to make them unique, often leading to very long, convoluted, and meaningless table names, which negatively impacts model performance.
even adding those identifiers, we sometimes run into errors
the unique identifiers make it really hard for users to understand the assistant builder UI, as they see some weird names instead of the actual name of their spreadsheets / databases / csv.

This PR removes the constraint at database level, and adds a deterministic algo to compute unique table names from a set of tables right before returning a DB schema and right before constructing the in-memory sqlite DB.
Next step is to update connectors code to remove the unique identifiers from table names
Risk
blast radius limited to tables query
Deploy Plan
deploy code, run migration

@flvndvd

LGTM, just wondering how does this work in our caching system?

No impact. Caching is per DB and cache key is based on table unique IDs


Text editor's expand/contract toggle button has stopped working

Relevant source lines: here.

NOTE: This issue has been found on GMod dev branch (version: 160905). Perhaps create a new label "dev"?

Now it is officially broken.


html format mails

Hi,
i have a new "issue".
The Mails from helpdesk are not in html format.... all other mails from redmine have a correct html format.
is there a easy solution to fix this or send html mails with helpdesk?

There are only solutions that require some manual labor. However, I also want to have html formattable mail. Unless someone else steps in before that I'm going to provide a pull request during the summer about this.
Does @jfqd have an opinion about this?

Duplicate of https://github.com/jfqd/redmine_helpdesk/issues/33.

And a Solution is what?
The Mails are all send with the html tags ... this tags make the text very "unreadable"
The best is when a) the html tags deleted or b) the mail send as html


Add 2FA Provisioning URL Link

Add 2FA Auto Provisioning URL Link.
URL according to standard.
:cat:

Done exactly as you said @ThomasTJdev :slightly_smiling_face:

BTW https://github.com/juancarlospaco/nimwc-calendar#nimwc-calendar

I saw it in my feed - looking forward to test it :)


jmol: 14.32.24 -> 14.32.28

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/jmol/versions.
meta.description for jmol is: "A Java 3D viewer for chemical structures"
meta.homepage for jmol is: "https://sourceforge.net/projects/jmol"
meta.changelog for jmol is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28/bin/jmol had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 14.32.28 with grep in /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28
found 14.32.28 in filename of file in /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
jmol
sage
sageWithDoc

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A jmol https://github.com/r-ryantm/nixpkgs/archive/f5258a7d1250aa61ca92c47cf012a8c54e8aecc6.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28
ls -la /nix/store/86r0dlsfgl0l8wdp6wx3k08qxx9sl10n-jmol-14.32.28/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages failed to build:

sage
sageWithDoc

1 package built:

jmol

Maintainer pings
cc @mounium @timokau @omasanori @7c6f434c @collares for testing.

Result of nixpkgs-review pr 162688 run on x86_64-linux 1

3 packages built:

jmol
sage
sageWithDoc

@ofborg eval


Restore onlyTrashed Participants

Restore onlyTrashed Participants, others are already active.

Thanks so much for the contribution!


CUDA Error Code 222

I have my local node and the proxy (pooled mining) all set up. I try miner.exe with the config pointing back to localhost:3000 and I get
C:\Users\johnr\Downloads\NV_Miner_WIN64_CUDA11_4.1.0\NV_Miner_WIN64_CUDA11_4.1.0>miner.exe
2021-04-20 12:08:52,654 INFO [main thread] Using 1 GPU devices
2021-04-20 12:08:52,655 INFO [main thread] Using configuration file ./config.json
2021-04-20 12:08:52,671 INFO [main thread] Block getting URL:
   http://<IP_ADDRESS>:3000/mining/candidate
2021-04-20 12:08:52,682 INFO [main thread] Solution posting URL:
   http://<IP_ADDRESS>:3000/mining/solution
2021-04-20 12:08:52,685 INFO [main thread] Got new block in main thread, block data: {"MSG":"2C789970EF162AF2B1ACF59010B8FEC4A667C822F6FC365C5DD0031594F6F5F3","B":38597363079105398474523661669562635951089994888546854679819194669303,"EXTRANONCE1":"9828","EXTRANONCE2SIZE":6,"HEIGHT":471562}
ERROR:  CUDA failed at autolykos.cu: 129
CUDA error code 222
Miner is now terminated
================================================================================

Non-pooled mining exhibits the same behavior. I'm using a GPU with the following characteristics
	NVIDIA GeForce GTX 1650 Ti with Max-Q Design

	Driver version:	<IP_ADDRESS>63
	Driver date:	12/8/2020
	DirectX version:	12 (FL 12.1)
	Physical location:	PCI bus 1, device 0, function 0

	Utilization	0%
	Dedicated GPU memory	0.0/4.0 GB
	Shared GPU memory	0.0/7.9 GB
	GPU Memory	0.0/11.9 GB

I just compiled this (Win10) using the instructions in the README and everything is golden (100% usage ~1 to ~25 MH/s depending on the block). Thanks!


Set TreeItem.set_icon_max_width results in render selection glitch

Godot version:
Godot Engine v3.2.3.stable.mono.official - https://godotengine.org
OpenGL ES 3.0 Renderer: GeForce GTX 980/PCIe/SSE2
OS/device including version:
Windows 10 x64
Issue description:
I want to use svg icons on a TreeItem where has a bigger size (e.g. 32x32px).
The TreeItem provides a func 'set_icon_max_width' to align the icon size.
When use 'set_icon_max_width' to smaller size e.g. 16px the selected item is not correct rendered.

Steps to reproduce:

create a tree
add an TreeItem with an icon (32x32)
set 'set_icon_max_width(0, 16)'
select the item

Minimal reproduction project:
TreItemIconScaleIssue.zip

Hello everyone,
For me the issue is still open when I edit a TreeItem with an icon and used set_icon_max_width and then set_editable.
I am using the latest godot4.
Here is a picture as a proof:

So I believe there is still something unfixed.


Update vmware-fusion to v8.1.0-3272237

Thank you for the contribution. It was merged directly as 10190e5de3922564d3be47a8c52ebe9a01808278 to keep commit history cleaner. Your contribution is still credited to you.


[REQUEST] Oracle Cloud Guide

Hi.
Would be possible to add a guide to install livekit in a ubuntu 20 at oracle cloud?
https://docs.livekit.io/deploy/vm
The oracle machine is free: https://www.oracle.com/th/cloud/free/#always-free with 10TB transfer

It's possible to do this now with our new VM setup process: https://docs.livekit.io/deploy/vm/
It supports cloud-init, so that should be straight forward.
https://blogs.oracle.com/linux/post/easy-provisioning-of-cloud-instances-on-oracle-cloud-infrastructure-with-the-oci-cli


WinAppDriver FindElementsByXPath sometimes fails when the singular form succeeds (and vice versa).

This is something I see a lot, but without any common pattern I'm able to infer.  The exact same XPath, when used in the singular FindElementByXPath version works, whereas it returns no results when used in the plural version FindElementsByXPath.  In other cases, the opposite is true -- the plural version returns results and the singular version throws a "not found" exception.
Anybody seen this and have any ideas on what may be causing it?  It's become tedious to implement the obvious workarounds everywhere.

@Shakevg Thank you for the reply.  Unfortunately, that does not seem to be the issue, as I have, indeed, tried various waiting scenarios, including the DefaultWait mechanism in WinAppDriver.
For example, the following does not return any results with FindElementsByPath, where as the singular version does:
var wait = DefaultWait(....) { Timeout = TimeSpan.FromSeconds(10) };

var element = wait.Until(s => s.FindElementsByXPath(Locator).FirstOrDefault());

Is nobody else seeing such behavior?  Happens a lot to us.

kfertitta I didn't face such issues, maybe it is a bug.
You can use FindElementByXPath with DefaultWait for a specific case or try to change XPath as a workaround or try to search parent first, then child items with more simple XPath.

How about this #1284?

@Nativu5 , Yes indeed.  A quick check reveals that turning off the "ms:experimental-webdriver" option makes FindElementsByXPath work again.  Thanks for that.
I guess the question is:  what breaks/changes by turning this options off?


Change all UW CSE affiliations to be the same

Some say 'Computer Science', some say 'Computer Science and Engineering', some say 'Computer Science & Engineering'

Fixed. Everyone is now Computer Science & Engineering


Add nullptr checks before accessing children in getUnspecialized

The demangler already has an error mechanism to report if demangling failed. Add null pointer checks before every access in Demangle::getUnspecialized, and return an error if the child doesn't exist.
rdar://110141007

@swift-ci test


Made Speks individually runn able. Added Junit Test tests (lol)

@Scott-Young-6746 Could you take a look at this? I'm trying to get all the tests individually runnable. It also appears the junit tests are being skipped. Let me know what you figure out.

This might be useful
https://blacklenspub.com/bacon-driven-development-in-kotlin-with-spek-376780e7ab3a


Now set the glass thickness parameter in ConstructPMT

Summary
The WCPMTGlassThickness parameter was being hard set in WCSimDetectorConfigs, and wasn't being called in ConstructPMT. This meant that only a single glass thickness could be specified for a given detector configuration and therefore the glass thickness used in ConstructPMT didn't necessarily correspond to the PMT being built. This pull request adds in the call for glass thickness in ConstructPMT and takes out the line which hard sets the glass thickness in DetectorConfigs.
Verification
Though this change is fairly minor, a number of verification steps were done to ensure the removal of the WCPMTGlassThickness from DetectorConfigs did not affect the code output.
The only detector configurations that build multiple PMT types are the two Hyper-K geometries (SetHyperKGeometry and SetHyperKGeometry_withHPD). In the current version of WCSim, the glass thickness for the OD tubes would have been the same as the ID tubes, whereas after the changes proposed in this pull request the glass thickness of the OD tubes will match the glass thickness specified for the given PMT type. I ran a high statistics run for both these geometries and found that the new glass thickness in the OD tubes did change the number of hits on an event-by-event basis, but that these changes are statistically consistant.
SetHyperKGeometry

SetHyperKGeometry_withHPD

All other detector configurations were tested by running a single event and comparing the output with the current version of WCSim. As expected, the outputs from the two versions of WCSim matched in all cases.

Should
G4double WCPMTGlassThickness;
in the .hh file also be removed?  Any of those other variables?

OK. This looks good now.


[BUG] Error in console after debuging

Describe the bug
When I install Python 12, I can see error after debuging in console:
Exception in worker
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\concurrent\futures\thread.py", line 91, in _worker
if work_item is not None:
^^^^^^^^^
File "c:\Users....vscode\extensions\ms-python.python-2024.0.1\pythonFiles\lib\python\debugpy_vendored\pydevd_pydevd_bundle\pydevd_trace_dispatch_regular.py", line 203, in trace_dispatch
py_db.enable_tracing(thread_trace_func)
File "c:\Users....vscode\extensions\ms-python.python-2024.0.1\pythonFiles\lib\python\debugpy_vendored\pydevd\pydevd.py", line 1107, in enable_tracing
pydevd_tracing.SetTrace(thread_trace_func)
File "c:\Users....vscode\extensions\ms-python.python-2024.0.1\pythonFiles\lib\python\debugpy_vendored\pydevd\pydevd_tracing.py", line 87, in SetTrace
if set_trace_to_threads(tracing_func, thread_idents=[thread.get_ident()], create_dummy_thread=False) == 0:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\Users.....vscode\extensions\ms-python.python-2024.0.1\pythonFiles\lib\python\debugpy_vendored\pydevd\pydevd_tracing.py", line 354, in set_trace_to_threads
start_new_thread(increase_tracing_count, ())
RuntimeError: can't create new thread at interpreter shutdown
With Python 11 it was without error.
Thanks
Jirka

I noticed this as well sometimes, but it is not really reproducable for me. But after some investigation there seems to be a regression in python 3.12 see here: https://github.com/python/cpython/issues/113964
And if you look at the code and I also see this if I get this error, this seems to happen in debugpy and not in RobotCode.
Does this happens every time?

Yes, every time in case Test failed and I am using debuging.

Is this bug still there or does it work with newer versions of the Vscode Python extension?

unfortunately, error is till there:
start_new_thread(increase_tracing_count, ())
RuntimeError: can't create new thread at interpreter shutdown

Hi,
thanks for fix. Debugging is without error currently.


Streamingfields optimalizations

Optimize the Streamingfields.
With: @jaroel / @gasman

Merged in 7d7509aee5990777fa20e5ed3d53302acc82f8a2 - thanks!


npm run preview -> 3 x Okay, the rest 'Failed to convert page to image'

Hello,
I have an issue.
Case
BUG, possibly a HELP QUESTION
Issue
Perhaps I'm missing a step, like "you forgot to link the right version of  after you brew-installed it", "your tmp folder is not writable", or "you are not supposed to do that!", but generating preview images of my own cv fails, even though exporting to pdf succeeded.
My guesses:

wrong node version so I upgraded to 10 didn't help
no ghostscript or imagemagick, upgraded reinstalled, didn't help
using illegal characters in yaml file, checked that by comparing to the example, didn't help
missing fields, unlikely but you never know, checked that by compairing to the example, didn't help
infact, the example previews are not rendering on the unchanged master branch as well.

I'm giving up/was actually busy doing something else which I still need to finish.
Error, would be a few of these:
{ message: 'Failed to convert page to image',
  error:
   { Error: Command failed: convert "/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl.pdf[0]" "/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl-0.png"
   convert: FailedToExecuteCommand `'gs' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 '-sDEVICE=pngalpha' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 '-r72x72' -dFirstPage=1 -dLastPage=1 '-sOutputFile=/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857en1zeli0uhty%d' '-f/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857hRT243KLzjea' '-f/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857oAow6HpTXk71'' (-1) @ error/delegate.c/ExternalDelegateCommand/478.
   convert: no images defined `/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl-0.png' @ error/convert.c/ConvertImageCommand/3300.

       at ChildProcess.exithandler (child_process.js:289:12)
       at ChildProcess.emit (events.js:182:13)
       at maybeClose (internal/child_process.js:962:16)
       at Process.ChildProcess._handle.onexit (internal/child_process.js:251:5)
     killed: false,
     code: 1,
     signal: null,
     cmd:
      'convert "/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl.pdf[0]" "/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl-0.png"' },
  stdout: '',
  stderr:
   'convert: FailedToExecuteCommand `\'gs\' -sstdout=%stderr -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap=500000000 -dAlignToPixels=0 -dGridFitTT=2 \'-sDEVICE=pngalpha\' -dTextAlphaBits=4 -dGraphicsAlphaBits=4 \'-r72x72\' -dFirstPage=1 -dLastPage=1 \'-sOutputFile=/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857en1zeli0uhty%d\' \'-f/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857hRT243KLzjea\' \'-f/var/folders/4w/gn8vmhkd4bzd4qm1qjsr08140000gn/T/magick-42857oAow6HpTXk71\'\' (-1) @ error/delegate.c/ExternalDelegateCommand/478.\nconvert: no images defined `/Users/marchage/source/repos/best-resume-ever/pdf/side-bar-rtl-0.png\' @ error/convert.c/ConvertImageCommand/3300.\n' }

This after the following 3 succeded:
/Users/marchage/source/repos/best-resume-ever/src/assets/preview/resume-oblique.png
/Users/marchage/source/repos/best-resume-ever/src/assets/preview/resume-left-right-rtl.png
/Users/marchage/source/repos/best-resume-ever/src/assets/preview/resume-left-right.png

Info

Operating System: macOS Mojave
Node-Version: v10.14.2

Reproduce
npm run preview (after having generated the pdfs of my cv's of course).
Regards, Marc

... maybe it can't find page 0 of those pdf... hm...

oh, and I'm using an updated font awesome (needed fa 5), but I should have fixed any issues with those: the pdf's are rendering.


FlowManager.init(this) give compilation Error.

DBFlow Version: 3.0.1
I have followed the ReadMe file and integrated this library in my project and I am stuck here.
FlowManager.init(this) gives compilation error like FlowManager cannot be applied to application object.

https://github.com/Raizlabs/DBFlow/blob/3.0.0-beta6/usage2/GettingStarted.md#initialize-flowmanager

Did you read the README? (https://github.com/Raizlabs/DBFlow/blob/master/usage2/GettingStarted.md#initialize-flowmanager)


Using HTML Select returns empty edit fields

I am using cocoon in my Rails app for assigning employees (users) to projects (many to many connection). The creation of associations is working correctly, but each time I add another employee cocoon adds an empty form field in the edit view. None of the other cocoon form fields in the edit view are populated either. Could this be due to the usage of dropdowns (select)?

When I inspect the form in my browser I can see that each field seems to be assigned to one of the associations, but the selection is still empty.
What I would like to achieve is, that every association is displayed in a cocoon form field, so that they can be edited.
Project Edit View
<%= form_for(@project, :url => project_path, method: :patch) do |f| %>

        <%= f.label :title %>
        <%= f.text_field :title, class: "form-control" %>

        <%= f.label :customer %>
        <%= f.text_field :customer, class: "form-control" %>

    <%= f.fields_for :user_projects do |collab| %>
        <% collab.hidden_field :project_id, value: @project.id %>
        <%= render 'user_project_fields', f: collab %>
    <% end %>

        <%= link_to_add_association "add", f, :user_projects, class: "btn btn-mmc" %>

        <%= f.submit "Save Changes", class: "btn btn-mmc btn-mmc-medium" %>

<% end %>

cocoon field partial

    <%= f.label "Select User" %>

        <%= f.select(:user_id, options_for_select(User.all.map { |u| [u.email, u.id] }), {include_blank: true}, {class: 'form-control'})%>

            <%= link_to_remove_association "x", f, class: "btn btn-mmc-attention btn-mmc" %>

Project Controller
 def edit
    @project = Project.find(params[:id])
    @project.user_projects.build
  end

  def update
    @project = Project.find(params[:id])
    if @project.update(project_params)
      redirect_to projects_path
    else
      render :edit
    end
  end

private
  def project_params
    params.require(:project).permit(:title, :customer, :delted, user_projects_attributes: [:user_id, :project_id]).reject { |_, v| v.blank? }
  end

This seems to be the same question as https://stackoverflow.com/questions/47533576/cocoon-gem-edit-view-is-only-showing-empty-form-fields/47592660#47592660

Yes, I have also posted it on Stackoverflow, but so far I have not received an answer that solved the problem. Therefore, I was hoping to get help here. Sorry, if that caused any inconvenience!

Sorry if that was unclear, but I had just answered that question and it seemed eerily similar :) (I get automatic notifications for cocoon questions but a day later). I think my answer solves your question, but let me know :+1: 😉

Thank you very much! Your answer was exactly what I needed. Unfortunately, I didn't see it before posting here. Very sorry about that!

Not a problem at all, no need to apologise, just wanted to make sure it was the same question, and I prefer to answer the stackoverflow questions because it is easier to search/find stuff there so it more easily reached by other people having the same problems (and I literally just posted my answer when I got the notification for this question, so you could not have known beforehand).
And glad it helped you :+1: :+1 :+1: :clap: :clap: :clap: :smile:


add toString to Eloquent\Builder

It good for debugging

Good for mistakes causing large security issues too.
If you want to debug queries use https://github.com/itsgoingd/clockwork.

Probably will hold off for now.


Xtensa optimized kernels for add and mul

As noted in https://github.com/tensorflow/tflite-micro/pull/115#pullrequestreview-674750771 we will need some refactoring prior to adding in optimized implementations for add and mul for Xtensa.
This will include refactoring the reference and cmsis_nn kernels and then adding the Xtensa kernels with optimized calls for Hifi5 and reference fallback for all other target architectures.

tagging @bhanuprakashbv

@advaitjain, please let me know is there any action item for me related to refactoring the reference kernels.
If so, we can discuss via email.
Along with mul, add activations operators, I am planning to raise pull request for other hifi5 operators as well.
Do we need to refactor for these reference kernels as well?


Set Failover FeatureGate by default

What type of PR is this?
/kind feature

What this PR does / why we need it:
Set Failover FeatureGate by default, it is related to https://github.com/karmada-io/karmada/pull/5899
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

/cc @RainbowMango


[1.7] Disable Spark Kudu connector for 1.7

Why are the changes needed?

It's not ready in 1.7.
How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Codecov Report

Merging #4353 (68736b0) into branch-1.7 (e5592f5) will decrease coverage by 0.03%.
The diff coverage is 47.72%.

@@               Coverage Diff                @@
##             branch-1.7    #4353      +/-   ##
================================================
- Coverage         53.55%   53.53%   -0.03%
  Complexity           13       13
================================================
  Files               562      562
  Lines             30711    30775      +64
  Branches           4142     4148       +6
================================================
+ Hits              16448    16476      +28
- Misses            12717    12752      +35
- Partials           1546     1547       +1

Impacted Files
Coverage Δ

.../apache/kyuubi/server/trino/api/TrinoContext.scala
53.87% <39.47%> (-4.47%)
:arrow_down:

...g/apache/kyuubi/client/api/v1/dto/VersionInfo.java
30.76% <100.00%> (-23.08%)
:arrow_down:

...uubi/server/trino/api/TrinoScalaObjectMapper.scala
92.85% <100.00%> (+12.85%)
:arrow_up:

...kyuubi/server/trino/api/v1/StatementResource.scala
50.66% <100.00%> (+0.66%)
:arrow_up:

.../org/apache/kyuubi/server/trino/api/v1/dto/Ok.java
46.15% <100.00%> (-23.08%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
78.39% <0.00%> (-0.62%)
:arrow_down:

...in/scala/org/apache/kyuubi/config/KyuubiConf.scala
97.44% <0.00%> (-0.07%)
:arrow_down:

...org/apache/kyuubi/operation/ExecuteStatement.scala
79.26% <0.00%> (ø)

... and 4 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Thanks, merged to 1.7


Add Notarize CI Job Recipe

Description
Proprietary OSes like MacOS and Windows have cryptographic notarization steps to deal with the authenticity distributions across their platforms. Without the notarization, user can be very skeptical about using the compiled binary.
Expected Behavior
./ci.cmd Notarize is available.
Current Behavior
./ci.cmd Notarize is unavailable.
Associated Data Files
No response

Ah, beautiful sharp eyes! =) I missed this one out. Thanks. Accepted task.

Released in https://github.com/ChewKeanHo/AutomataCI/releases/tag/v2.0.0


charts/stable/mongodb

Hi,
A big thanks for the such great helm chart. Am using the charts/stable/mongodb chart to install the mongodb in kubernates. During the installation am keeping the 1 master , 1-arbiter and 3-secondary.  When i enter to a master pod and run the rs.stepDown(), then for few second master will disappear and again it will get created with the same id.
In my case, when do the rs.stepDown() then, master which is created from slave, i need to retain the until again the master kill. Is that possible here. If possible then please help me here.
Thanks

Hi @perdoorrajeshnayak ,
Thanks for you kind words, I am glad you like the chart.
I am not very sure what you need to achieve. When you run rs.stepdown in the master this node will become a secondary and a secondary will become a master node. This master node is not eligible to become master until the stepDownSecs has passed (by default 60 seconds).

Thanks Rafael for your reply,
When i run a rs.staus(2000,5), the primary pod  is going down for 2000 sec and it is showing the the one of the  secondary pod as primary pod ,when i entered to primary pod  then i try to write some thing is  not showing at the master pod when master comes up.. What cloud be the reason. Thanks in advance.


Busraider 2.2.61 ESPSW build

Sorry - my mistake for not buying the kit of parts from you and just the PCB.....
Under UBUNTU-20.10 and Windows 10.
ESF Tools - 4.0.1 installed as per instructions in the "How To".
Visual Studio Code
PlatformIO  latest
Getting this error whenever try to build project:
            from src/main.cpp:58:

/home/michaelm/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/ip4_addr.h:79:37: error: expected ')' before numeric constant
#define IPADDR_NONE         ((u32_t)0xffffffffUL)
^
/home/michaelm/.platformio/packages/framework-arduinoespressif32/tools/sdk/include/lwip/lwip/inet.h:71:29: note: in expansion of macro 'IPADDR_NONE'
#define INADDR_NONE         IPADDR_NONE
^
lib/RdUtils/Utils.h:26:32: note: in expansion of macro 'INADDR_NONE'
static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);
^
*** [.pio/build/featheresp32/src/RestAPIBusRaider.cpp.o] Error 1
*** [.pio/build/featheresp32/src/main.cpp.o] Error 1
========================================= [FAILED] Took 2.89 seconds =========================================
The terminal process "platformio 'run', '--target', 'upload'" terminated with exit code: 1.
Terminal will be reused by tasks, press any key to close it.

The fix for this is to edit out / comment out the  :
ib/RdUtils/Utils.h
static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);
that is
// static const unsigned long INADDR_NONE = ((unsigned long)0xffffffff);
I first started mucking about with computers in the early 1970's and have loathed "C" since I was forced to learn it in about 1978!


raidboss: add r3s bombarian special reminder

Since it takes too long for the bombarian special to reach the stack/spread, it can lead to forgetting, so a reminder has been added here.

Checking back through my recordings, it looks like the time between when Brute Bomber starts casting Bombarian Special and when the stack/spread resolves is about 30 seconds. As you have it set up, this would display and clear the stack/spread before the knockback visual even starts. Do you think maybe we could add a durationSeconds: 7 to each of these triggers or something like that?

Checking back through my recordings, it looks like the time between when Brute Bomber starts casting Bombarian Special and when the stack/spread resolves is about 30 seconds. As you have it set up, this would display and clear the stack/spread before the knockback visual even starts. Do you think maybe we could add a durationSeconds: 7 to each of these triggers or something like that?

That makes sense. I added the time


Q: what is Game of Thrones

What are the major characters of the TV show

What questions have I asked you so far?


[lcars/advcasio/cassioWatch/entonclk] don't report heart rate properly

It seems many clocks report HRM and use this pattern:
Math.round(Bangle.getHealthStatus("last").bpm)

But this returns the best HRM in the last 10 minutes - so it won't update for between 0-10 minutes.
Probably what's needed is really:
Math.round(Bangle.getHealthStatus().bpm||Bangle.getHealthStatus("last").bpm)

To get the 'best' HRM reading from this 10 minutes, or the reading from the last 10 minutes, or 0... and maybe even updating based on the HRM event.
But the best way would be to use the new clock_info module instead as this handles it properly now, and we can keep it updated if we spot issues like this in the future.
Affected:

[ ] lcars
[ ] advcasio
[ ] cassioWatch
[ ] entonclk

I have lcars in bangejs 2. HRM is stuck at 0.

@peerdavid and @Ronin0000 I don't know how to do clockinfo but copy and pasted patch.


agent.connect success handler

The agent.connect success handler should have the contact object passed as a parameter, or should return the contact object.  Right now the success function is passed an empty object, and you have to jump through a lot of hoops to get the current contact after initiating a new connection via agent.connect

We are considering this a feature request. We will look into it in time. If you have a potential solution, feel free to submit a pull request!
Thanks for your suggestion.

This is a duplicate of #216