how to do horizontal scale only when the workflow_job based on runner label

Describe the bug
A clear and concise description of what the bug is.
Checks

[ ] My actions-runner-controller version (v0.x.y) does support the feature
[ ] I'm using an unreleased version of the controller I built from HEAD of the default branch

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
we have configured the horizontal auto scalar at enterprise level with webhook and its working as expected.
we don't want to autoscale the runner based on all workflow_job envent . we need to do autoscale only if workflow_job payload have a specifc runner label
for example
runs-on: actioncontroller-runner
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Controller Version [e.g. 0.18.2]
Deployment Method [e.g. Helm and Kustomize ]
Helm Chart Version [e.g. 0.11.0, if applicable]

Additional context
Add any other context about the problem here.

@roshvin Hey1 You can just make spec.labels include actioncontroller-runner, so that the workflow_job event matches only against your runner{deployment,set}. Note that it isn't metadata.labels, but spec.labels.
I'd suggest reading https://github.com/actions-runner-controller/actions-runner-controller/issues/951#issuecomment-972944436 for more information on how runs-on, workflow_job labels, and runner labels relates to each other.

Hi @mumoshu thanks for the update. my requirement is slightly different.
1 if anyone specify ( runs-on: [actions-runner-controller] ) in workflow . then only  the controller have to scale the runner deployment
2. apart from above label , controller shouldn't be autoscoring the runner.
right now for all workflow_job dispatch with any label , the controller is auto scaling the runner and we want to prevent it.

right now for all workflow_job dispatch with any label

That's super odd! Would you mind sharing one of your runnerdeployment + HRA that is being autoscale expectedly, and one of workflow_job events that triggered that unexpected autos-cale? So that I can better understand what's going.

Hi @roshvin,

right now for all workflow_job dispatch with any label

That's super odd! Would you mind sharing one of your runnerdeployment + HRA that is being autoscale expectedly, and one of workflow_job events that triggered that unexpected autos-cale? So that I can better understand what's going.

Hey @mumoshu, thank you for the help, I think I have the same issue.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  namespace: shared
  name: a
spec:
  template:
    metadata:
      labels:
        app: runner
    spec:
      labels:
        - "no-permissions"
      organization: vhopio
      resources:
        limits:
          cpu: "3.5"
          memory: "12Gi"
        requests:
          cpu: "2.0"
          memory: "9Gi"
---
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  namespace: shared
  name: a
spec:
  scaleUpTriggers:
    - githubEvent: { }
      amount: 1
      duration: "5m"
  scaleTargetRef:
    name: a
  scaleDownDelaySecondsAfterScaleOut: 60
  minReplicas: 0
  maxReplicas: 5
  metrics:
    - type: TotalNumberOfQueuedAndInProgressWorkflowRuns
      repositoryNames:
        - vhop-project

---

apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  namespace: shared
  name: b
spec:
  template:
    metadata:
      labels:
        app: runner2
    spec:
      labels:
        - "non-exist-label"
      organization: vhopio
      resources:
        limits:
          cpu: "3.5"
          memory: "12Gi"
        requests:
          cpu: "2.0"
          memory: "9Gi"
---
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
  namespace: shared
  name: b
spec:

  scaleUpTriggers:
    - githubEvent: {}
      amount: 1
      duration: "5m"
  scaleTargetRef:
    name: b
  scaleDownDelaySecondsAfterScaleOut: 60
  minReplicas: 0
  maxReplicas: 5
  metrics:
    - type: TotalNumberOfQueuedAndInProgressWorkflowRuns
      repositoryNames:
        - vhop-project
`

I am always getting both `a` and `b` runners, even if that `b` has `non-exist-label` on it which I never use. When the `a` job is up/done, `b` is also scaling up/down.
Happens with both 0.14.0 and 0.15.0 charts.
Thank you

@roshvin after reading the docs, its seems there isnt a way of doing it using pulling (at least if you need to go to 0). The only way is webhook. I used ngrok to enable webhooks, which works fine now for. I hope it hels

@mumoshu pls find the details below.
i uses  runs-on: [ test-runner ]  and its not part of runner , still the controller will scale the runner .
RunnerDeployment
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: dot-runner
spec:
  replicas: 1
  template:
    spec:
      enterprise: xxxxxx
      labels:
      - dot-enterprise-runner
      env: []
      dockerEnabled: false
      dockerdWithinRunnerContainer: false
      image: registry.net/xxxx/actions-runner:latest
      dockerEnabled: false
      securityContext:
        runAsUser: 1000

HorizontalRunnerAutoscaler
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
   name: ent-runner-auto-scaller
spec:
  labels:
      - dot-enterprise-runner

  scaleDownDelaySecondsAfterScaleOut: 5
  scaleTargetRef:
    name: dot-runner
  minReplicas: 1
  maxReplicas: 30
  scaleUpTriggers:
  - githubEvent: {}
    duration: "3m"

Payload.
{
  "action": "queued",
  "workflow_job": {
    "id": 6043,
    "run_id": 4459,
    "run_url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/actions/runs/4459",
    "node_id": "MDg6Q2hlY2tSdW42MDQz",
    "head_sha": "daa9a8268810e0abfbcecf307ed4130ad64a6a57",
    "url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/actions/jobs/6043",
    "html_url": "https://git-int.app.corpintra.net/ROK-ACTION-TEST/label/runs/6043",
    "status": "queued",
    "conclusion": null,
    "started_at": "2021-11-29T10:49:01Z",
    "completed_at": null,
    "name": "build",
    "steps": [

    ],
    "check_run_url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/check-runs/6043",
    "labels": [

    ]
  },
  "repository": {
    "id": 1698,
    "node_id": "MDEwOlJlcG9zaXRvcnkxNjk4",
    "name": "label",
    "full_name": "ROK-ACTION-TEST/label",
    "private": true,
    "owner": {
      "login": "ROK-ACTION-TEST",
      "id": 387,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjM4Nw==",
      "avatar_url": "https://avatars.git-int.app.corpintra.net/u/387?",
      "gravatar_id": "",
      "url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST",
      "html_url": "https://git-int.app.corpintra.net/ROK-ACTION-TEST",
      "followers_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/followers",
      "following_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/following{/other_user}",
      "gists_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/gists{/gist_id}",
      "starred_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/starred{/owner}{/repo}",
      "subscriptions_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/subscriptions",
      "organizations_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/orgs",
      "repos_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/repos",
      "events_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/events{/privacy}",
      "received_events_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/received_events",
      "type": "Organization",
      "site_admin": false
    },

workflow
jobs:
    build:
     runs-on: [ test-runner ]
    steps:
      - uses: actions/checkout@v2

Controller log
2021-11-29T10:48:24.487Z        DEBUG   actions-runner-controller.horizontalrunnerautoscaler    Calculated desired replicas of 1        {"horizontalrunnerautoscaler": "github-runner-pool/ent-runner-auto-scaller", "suggested": 1, "reserved": 0, "min": 1, "max": 30}
2021-11-29T10:48:24.501Z        DEBUG   actions-runner-controller.horizontalrunnerautoscaler    Calculated desired replicas of 1        {"horizontalrunnerautoscaler": "github-runner-pool/ent-runner-auto-scaller", "suggested": 1, "reserved": 0, "min": 1, "cached": 1, "max": 30}
2021-11-29T10:49:01.257Z        DEBUG   actions-runner-controller.horizontalrunnerautoscaler    Calculated desired replicas of 2        {"horizontalrunnerautoscaler": "github-runner-pool/ent-runner-auto-scaller", "suggested": 1, "reserved": 1, "min": 1, "cached": 1, "max": 30}
2021-11-29T10:49:01.271Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "18ef4608-3bbe-46ec-8c9a-54d764f0904b", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2021-11-29T10:49:01.272Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "18ef4608-3bbe-46ec-8c9a-54d764f0904b", "allowed": true}
2021-11-29T10:49:01.293Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "UID": "a1bcf17e-9226-47c9-a756-85528791da3d", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerDeployment", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerdeployments"}}
2021-11-29T10:49:01.295Z        INFO    runnerdeployment-resource       validate resource to be updated {"name": "dot-runner"}
2021-11-29T10:49:01.295Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerdeployment", "code": 200, "reason": "", "UID": "a1bcf17e-9226-47c9-a756-85528791da3d", "allowed": true}
2021-11-29T10:49:01.327Z        DEBUG   actions-runner-controller.horizontalrunnerautoscaler    Calculated desired replicas of 2        {"horizontalrunnerautoscaler": "github-runner-pool/ent-runner-auto-scaller", "suggested": 1, "reserved": 1, "min": 1, "cached": 1, "last_scale_up_time": "2021-11-29 10:49:01 +0000 UTC", "scale_down_delay_until": "2021-11-29T10:49:06.000Z", "max": 30}
2021-11-29T10:49:01.329Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset", "UID": "fb4a4b1d-5b80-4993-bd2f-3672e7897f94", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
2021-11-29T10:49:01.331Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runnerreplicaset", "code": 200, "reason": "", "UID": "fb4a4b1d-5b80-4993-bd2f-3672e7897f94", "allowed": true}
2021-11-29T10:49:01.339Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset", "UID": "8eebcf0c-ee71-4bf9-959e-2f455c9c1eef", "kind": "actions.summerwind.dev/v1alpha1, Kind=RunnerReplicaSet", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runnerreplicasets"}}
2021-11-29T10:49:01.339Z        INFO    runnerreplicaset-resource       validate resource to be updated {"name": "dot-runner-9f2nn"}
2021-11-29T10:49:01.340Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runnerreplicaset", "code": 200, "reason": "", "UID": "8eebcf0c-ee71-4bf9-959e-2f455c9c1eef", "allowed": true}
2021-11-29T10:49:01.345Z        INFO    actions-runner-controller.runnerreplicaset      Creating 1 runner(s)    {"runnerreplicaset": "github-runner-pool/dot-runner-9f2nn", "desired": 2, "available": 1, "ready": 1}
2021-11-29T10:49:01.359Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runner", "UID": "24007e68-7394-428a-ad5c-7ca62dba8b00", "kind": "actions.summerwind.dev/v1alpha1, Kind=Runner", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runners"}}
2021-11-29T10:49:01.360Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runner", "code": 200, "reason": "", "UID": "24007e68-7394-428a-ad5c-7ca62dba8b00", "allowed": true}
2021-11-29T10:49:01.368Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runner", "UID": "7a972496-c10d-4340-ae43-d1ae10358412", "kind": "actions.summerwind.dev/v1alpha1, Kind=Runner", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runners"}}
2021-11-29T10:49:01.369Z        INFO    runner-resource validate resource to be created {"name": "dot-runner-9f2nn-vprqz"}
2021-11-29T10:49:01.369Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runner", "code": 200, "reason": "", "UID": "7a972496-c10d-4340-ae43-d1ae10358412", "allowed": true}
2021-11-29T10:49:01.383Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runner", "UID": "e2608f3b-8560-48fc-beff-1cfe068e962d", "kind": "actions.summerwind.dev/v1alpha1, Kind=Runner", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runners"}}
2021-11-29T10:49:01.384Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/mutate-actions-summerwind-dev-v1alpha1-runner", "code": 200, "reason": "", "UID": "e2608f3b-8560-48fc-beff-1cfe068e962d", "allowed": true}
2021-11-29T10:49:01.386Z        DEBUG   controller-runtime.webhook.webhooks     received request        {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runner", "UID": "8958e06e-3753-4b12-80f1-bab658bb20a4", "kind": "actions.summerwind.dev/v1alpha1, Kind=Runner", "resource": {"group":"actions.summerwind.dev","version":"v1alpha1","resource":"runners"}}
2021-11-29T10:49:01.387Z        INFO    runner-resource validate resource to be updated {"name": "dot-runner-9f2nn-vprqz"}
2021-11-29T10:49:01.387Z        DEBUG   controller-runtime.webhook.webhooks     wrote response  {"webhook": "/validate-actions-summerwind-dev-v1alpha1-runner", "code": 200, "reason": "", "UID": "8958e06e-3753-4b12-80f1-bab658bb20a4", "allowed": true}
2021-11-29T10:49:01.404Z        INFO    actions-runner-controller.runner        Updated registration token      {"runner": "dot-runner-9f2nn-vprqz", "repository": ""}
2021-11-29T10:49:01.404Z        DEBUG   controller-runtime.manager.events       Normal  {"object": {"kind":"Runner","namespace":"github-runner-pool","name":"dot-runner-9f2nn-vprqz","uid":"7d5400fe-887a-4c20-87f1-d7768c6ef7d2","apiVersion":"actions.summerwind.dev/v1alpha1","resourceVersion":"45329106"}, "reason": "RegistrationTokenUpdated", "message": "Successfully update registration token"}
2021-11-29T10:49:01.455Z        INFO    actions-runner-controller.runner        Created runner pod      {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "repository": ""}
2021-11-29T10:49:01.457Z        DEBUG   controller-runtime.manager.events       Normal  {"object": {"kind":"Runner","namespace":"github-runner-pool","name":"dot-runner-9f2nn-vprqz","uid":"7d5400fe-887a-4c20-87f1-d7768c6ef7d2","apiVersion":"actions.summerwind.dev/v1alpha1","resourceVersion":"45329108"}, "reason": "PodCreated", "message": "Created pod 'dot-runner-9f2nn-vprqz'"}
2021-11-29T10:49:01.569Z        DEBUG   actions-runner-controller.runner        Runner pod exists but we failed to check if runner is busy. Apparently it still needs more time.        {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "runnerName": "dot-runner-9f2nn-vprqz"}
2021-11-29T10:49:01.569Z        DEBUG   actions-runner-controller.runner        Rechecking the runner registration in 1m10.143983652s   {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz"}
2021-11-29T10:49:01.580Z        INFO    actions-runner-controller.runner        Skipped registration check because it's deferred until 2021-11-29 10:50:01 +0000 UTC. Retrying in 58.419336954s at latest    {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "lastRegistrationCheckTime": "2021-11-29 10:49:01 +0000 UTC", "registrationCheckInterval": "1m0s"}
2021-11-29T10:49:01.581Z        INFO    actions-runner-controller.runner        Skipped registration check because it's deferred until 2021-11-29 10:50:01 +0000 UTC. Retrying in 58.418903507s at latest    {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "lastRegistrationCheckTime": "2021-11-29 10:49:01 +0000 UTC", "registrationCheckInterval": "1m0s"}
2021-11-29T10:49:02.008Z        INFO    actions-runner-controller.runner        Skipped registration check because it's deferred until 2021-11-29 10:50:01 +0000 UTC. Retrying in 57.991645163s at latest    {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "lastRegistrationCheckTime": "2021-11-29 10:49:01 +0000 UTC", "registrationCheckInterval": "1m0s"}
2021-11-29T10:49:03.280Z        INFO    actions-runner-controller.runner        Skipped registration check because it's deferred until 2021-11-29 10:50:01 +0000 UTC. Retrying in 56.7199707s at latest      {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "lastRegistrationCheckTime": "2021-11-29 10:49:01 +0000 UTC", "registrationCheckInterval": "1m0s"}
2021-11-29T10:49:04.077Z        DEBUG   actions-runner-controller.horizontalrunnerautoscaler    Calculated desired replicas of 2        {"horizontalrunnerautoscaler": "github-runner-pool/ent-runner-auto-scaller", "suggested": 1, "reserved": 0, "min": 1, "cached": 1, "last_scale_up_time": "2021-11-29 10:49:01 +0000 UTC", "scale_down_delay_until": "2021-11-29T10:49:06.000Z", "max": 30}
2021-11-29T10:50:00.083Z        INFO    actions-runner-controller.runner        Runner appears to have registered and running.  {"runner": "github-runner-pool/dot-runner-9f2nn-vprqz", "podCreationTimestamp": "2021-11-29 10:49:01 +0000 UTC"}

Maybe its bacause you hard coded the replicas? From the docs it says you shouldnt "Important!!! We no longer include the attribute replicas in our RunnerDeployment if we are configuring autoscaling!"

@roshvin Hey! Would you mind sharing logs from your githubwebhookserver deployment, too? It should include when it received webhook events and how it reacted to each event, that should be the last missing piece in this puzzle.

@mumoshu  thanks for checking this . pls find the bellow webhook log
2021-11-30T09:03:20.920Z        DEBUG   controllers.Runner      Found 0 HRAs by key     {"key": "ROK-ACTION-TEST/label"}
2021-11-30T09:03:20.920Z        DEBUG   controllers.Runner      Found 0 HRAs by key     {"key": "ROK-ACTION-TEST"}
2021-11-30T09:03:20.921Z        DEBUG   controllers.Runner      Found 1 HRAs by key     {"key": "enterprises/daimler"}
2021-11-30T09:03:20.921Z        INFO    controllers.Runner      scale up target is enterprise runners   {"event": "workflow_job", "hookID": "45", "delivery": "5d999310-51bc-11ec-996a-d79d075637e9", "workflowJob.status": "queued", "workflowJob.labels": [], "repository.name": "label", "repository.owner.login": "ROK-ACTION-TEST", "repository.owner.type": "Organization", "enterprise.slug": "daimler", "action": "queued", "enterprise": "daimler"}
2021-11-30T09:03:20.921Z        INFO    controllers.Runner      Patching hra for capacityReservations update    {"before": null, "after": [{"expirationTime":"2021-11-30T09:06:20Z","replicas":1}]}
2021-11-30T09:03:20.940Z        INFO    controllers.Runner      scaled ent-runner-auto-scaller by 1
2021-11-30T09:03:23.386Z        DEBUG   controllers.Runner      Found 0 HRAs by key     {"key": "ROK-ACTION-TEST/label"}
2021-11-30T09:03:23.386Z        DEBUG   controllers.Runner      Found 0 HRAs by key     {"key": "ROK-ACTION-TEST"}
2021-11-30T09:03:23.386Z        DEBUG   controllers.Runner      Found 1 HRAs by key     {"key": "enterprises/daimler"}
2021-11-30T09:03:23.386Z        INFO    controllers.Runner      scale up target is enterprise runners   {"event": "workflow_job", "hookID": "45", "delivery": "5ee043e0-51bc-11ec-8c2a-b43d934698a5", "workflowJob.status": "completed", "workflowJob.labels": [], "repository.name": "label", "repository.owner.login": "ROK-ACTION-TEST", "repository.owner.type": "Organization", "enterprise.slug": "daimler", "action": "completed", "enterprise": "daimler"}
2021-11-30T09:03:23.386Z        INFO    controllers.Runner      Patching hra for capacityReservations update    {"before": [{"expirationTime":"2021-11-30T09:06:20Z","replicas":1}], "after": null}
2021-11-30T09:03:23.399Z        INFO    controllers.Runner      scaled ent-runner-auto-scaller by -1

Maybe its because you hard coded the replicas? From the docs it says you shouldnt "Important!!! We no longer include the attribute replicas in our RunnerDeployment if we are configuring autoscaling!"

thanks for the suggestion , i have removed replicas in the runnerdeployment. still same issue.

@roshvin Hey! Thanks for the update. I reviewed your githubwebhookserver logs and realized that there're several occurrences of "workflowJob.labels": [].
A workflow_job event should include labels of [test-runner] if it's triggered via a job that is defined to have runs-on: [ test-runner ]. Very odd.
Would you mind sharing one of workflow_job webhook event payload to double-check? I'm mainly interested in if it really has empty labels or not.
Also, what's the version of your GHES?(I thought you used GHES, right?

Hi @mumoshu  , thanks , even i have noticed same. its not showing the label.
`{
"action": "queued",
"workflow_job": {
"id": 6047,
"run_id": 4462,
"run_url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/actions/runs/4462",
"node_id": "MDg6Q2hlY2tSdW42MDQ3",
"head_sha": "086d95dcacaf3cb1566ac97e9ca81817bdc53716",
"url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/actions/jobs/6047",
"html_url": "https://git-int.app.corpintra.net/ROK-ACTION-TEST/label/runs/6047",
"status": "queued",
"conclusion": null,
"started_at": "2021-11-30T13:42:35Z",
"completed_at": null,
"name": "build",
"steps": [
],
"check_run_url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/label/check-runs/6047",
"labels": [

]

},
"repository": {
"id": 1698,
"node_id": "MDEwOlJlcG9zaXRvcnkxNjk4",
"name": "label",
"full_name": "ROK-ACTION-TEST/label",
"private": true,
"owner": {
"login": "ROK-ACTION-TEST",
"id": 387,
"node_id": "MDEyOk9yZ2FuaXphdGlvbjM4Nw==",
"avatar_url": "https://avatars.git-int.app.corpintra.net/u/387?",
"gravatar_id": "",
"url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST",
"html_url": "https://git-int.app.corpintra.net/ROK-ACTION-TEST",
"followers_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/followers",
"following_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/following{/other_user}",
"gists_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/gists{/gist_id}",
"starred_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/starred{/owner}{/repo}",
"subscriptions_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/subscriptions",
"organizations_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/orgs",
"repos_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/repos",
"events_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/events{/privacy}",
"received_events_url": "https://git-int.app.corpintra.net/api/v3/users/ROK-ACTION-TEST/received_events",
"type": "Organization",
"site_admin": false
},`
we are using GHE 3.2.0

workflow_job isn't supported in GHES 3.2, see the webhook events docs (3.2 vs 3.3<EMAIL_ADDRESS>It has only just been introduced in 3.3<EMAIL_ADDRESS>You need to upgrade your GHES version before you can use this event.

workflow_job isn't supported in GHES 3.2, see the webhook events docs (3.2 vs 3.3<EMAIL_ADDRESS>It has only just been introduced in 3.3<EMAIL_ADDRESS>You need to upgrade your GHES version before you can use this event.
Are you sure you're on 3.2? What does your meta api endpoint say?

yes , we are in 3.2 version

also i we have configured workflow jobs webhook at enterprise level

I don't think there is anything we can do then, you can see from the release notes this feature isn't supported by GitHub until the 3.3 RC. You'll need to upgrade to 3.3 before actions-runner-controller can be used.

GHES 3.3 has been released!
https://github.blog/changelog/2021-12-07-github-enterprise-server-3-3-is-generally-available/

Hi @mumoshu  yes yes , we are in the process of upgrading our INT . will test in a week and update you status.
thanks for checking on it :)

Hi @mumoshu  we have upgraded our GHE to 3.3.3 and action runner controller to latest v0.21.1
Now GHE is giving runner label in the payload as below.
{
  "action": "queued",
  "workflow_job": {
    "id": 7467,
    "run_id": 5540,
    "run_url": "https://git-xxxxx.net/api/v3/repos/ROK-ACTION-TEST/runner-test-label/actions/runs/5540",
    "node_id": "MDg6Q2hlY2tSdW43NDY3",
    "head_sha": "3e854054fd423b30da34acd50ed83fb3272baf60",
    "url": "https://gitxxxxxxx.net/api/v3/repos/ROK-ACTION-TEST/runner-test-label/actions/jobs/7467",
    "html_url": "https://git-xxxxxx.net/ROK-ACTION-TEST/runner-test-label/runs/7467",
    "status": "queued",
    "conclusion": null,
    "started_at": "2022-03-01T07:00:01Z",
    "completed_at": null,
    "name": "build",
    "steps": [

    ],
    "check_run_url": "https://git-xxxxxx.net/api/v3/repos/ROK-ACTION-TEST/runner-test-label/check-runs/7467",
    "labels": [
      "dot-enterprise-runner"
    ],
    "runner_id": null,
    "runner_name": null,
    "runner_group_id": null,
    "runner_group_name": null

but when i try to use the label in the HRA its giving below error.
our requiement is HRA should only auto scale runner deployment if the runs-on: [ dot-enterprise-runner ]  in the workflow .
apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
   name: ent-runner-auto-scaller
spec:
  labels:
      - dot-enterprise-runner

  scaleDownDelaySecondsAfterScaleOut: 5
  scaleTargetRef:
    name: dot-runner
  minReplicas: 1
  maxReplicas: 30
  scaleUpTriggers:
  - githubEvent: {}
    duration: "3m"

 k create -f HorizontalRunnerAutoscaler.yaml
error: error validating "HorizontalRunnerAutoscaler.yaml": error validating data: ValidationError(HorizontalRunnerAutoscaler.spec): unknown field "labels" in dev.summerwind.actions.v1alpha1.HorizontalRunnerAutoscaler.spec; if you choose to ignore these errors, turn validation off with --validate=false

@roshvin You can't put labels in the HRA spec!

In ARC, runner labels are defined under RunnerDeployment or RunnerSet spec https://github.com/actions-runner-controller/actions-runner-controller#runner-labels that doesn't change when you use HRA.
HRA controller reads labels to match the webhook event from the resource denoted by HRA.Spec.ScaleTargetRef. In your case, your RunnerDeployment's spec labels are used for match so you don't need to repeat it in HRA spec(and you cant)

Hi,
Thanks for the replay.
i haven dot-enterprise-runner as runner label in HRA and in my workflow its runs-on: [ self-hosted ]
but still this job triggered because by defalut self-hosted label is applied to any runner

is there any option to remove the slef-hosted label during runner registration.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: dot-runner
spec:
  template:
    spec:
      enterprise: xxxxxx
      labels:
      - dot-enterprise-runner
      dockerEnabled: false
      dockerdWithinRunnerContainer: false
      image: rxxxxxx/actions-runner
      dockerEnabled: false
      securityContext:
        runAsUser: 1000
      env:
      - name: RUNNER_FEATURE_FLAG_EPHEMERAL
        value: "true"

apiVersion: actions.summerwind.dev/v1alpha1
kind: HorizontalRunnerAutoscaler
metadata:
   name: ent-runner-auto-scaller
spec:
  scaleDownDelaySecondsAfterScaleOut: 5
  scaleTargetRef:
    name: dot-runner
  minReplicas: 1
  maxReplicas: 300
  scaleUpTriggers:
  - githubEvent: {}
    duration: "3m"

"check_run_url": "https://git-int.app.corpintra.net/api/v3/repos/ROK-ACTION-TEST/runner-test-label/check-runs/7473",
"labels": [
"self-hosted"
],

@roshvin Why do you do that? You have to give a specific set of job labels in your workflow definition if you want the job to be scheduled (hence scaled) onto certain runners. To me, it looks like it doesn't work because you have wrong workflow definitions.
There's no way to omit self-hosted label from a self-hosted runner. That's the design decision of GitHub Actions, not us.

Hi,

we are going to implement this at GHE enterprise level  .
our reequipment is if  if anyone use a label ( eg runs-on: [ ARC-runner ] then only the HRA should trigger and scale the runner
Now what's happening , lots of other user are using GHE and they give runs-on: [ self-hosted] in their workflow. and they will be having dedicated runner ant repo or org level to run the job . but still it create a payload and enterprise level and with this payload  runs-on: [ self-hosted] the HRA will keep on scaling runner.
we are looking HRA to scan runner only if a user give  runs-on: [ ARC-runner ]  in their workflow and not with all payload with slef-hosted.

4, we are looking HRA to scan runner only if a user give runs-on: [ ARC-runner ] in their workflow and not with all payload with slef-hosted.

This doesn't make sense, as GitHub Actions will schedule jobs onto any runner with "self-hosted" anyway.

So I think what you'd need instead would be to ask GitHub to enable creating runners without the default "self-hosted" label.

Hi @mumoshu  , thanks for the feedback , i will check and update you the status.

@roshvin Thanks for confirming!

Hi @mumoshu  , i have a basic question.
in my below Runnderdeployment , i have given runner  label as dot-enterprise-runner  , then how its scaling this when i give self-hosted label in my workflow.
i was under the impression that it will only scale Runnerdeployment if i give ```dot-enterprise-runner`` label in my workflow.
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: dot-runner
spec:
  template:
    spec:
      enterprise: xxxxxx
      labels:
      - dot-enterprise-runner
      dockerEnabled: false
      dockerdWithinRunnerContainer: false
      image: rxxxxxx/actions-runner
      dockerEnabled: false
      securityContext:
        runAsUser: 1000
      env:
      - name: RUNNER_FEATURE_FLAG_EPHEMERAL
        value: "true"

@roshvin GitHub Actions automatically adds self-hosted label to any self-hosted runners, so ARC assumes your RunnerDeployment to imply self-hosted. If ARC didn't do that, you may end up "mistakenly assuming" that your dot-enterprise-runner runners are unable to run workflow jobs labeled with self-hosted, which isn't the case.

Hi , Thanks for the quick replay . i have already checked with GHE support team and this is in their backlog and no timeline yes.
do you have any suggestion for us to make it work.  from actionrunner controller point of view.

@roshvin Hey! That's just impossible from ARC's perspective. You'd need to have some automated workflows to ensure no one in your enterprise uses self-hosted, if that's really what you need.


Deployment to ACI does not support GPU yet

Even though ACI now supports containers with GPU resources, it is not possible yet to enable this support when deploying a service using the ML SDK or CLI, even if the image was created with enable_gpu=True. It would be nice if the documentation warned about it.
Related feedback item: https://feedback.azure.com/forums/257792-machine-learning/suggestions/36764839-enable-gpu-support-when-deploying-to-azure-contain

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 38e267fb-efa2-dab5-aa83-4a4addc39ee8
Version Independent ID: e1d506d0-c6bf-47ed-a12c-7bb50416c865
Content: Deploy models as web services - Azure Machine Learning service
Content Source: articles/machine-learning/service/how-to-deploy-and-where.md
Service: machine-learning
GitHub Login: @aashishb
Microsoft Alias: aashishb

@jberezanski-mdg Thank you for the feedback. I have assigned to the author for proper update.
@aashishb Hi, could you please help to check if we can add above content? Thank you.

Ack. I will look into this issue.

@YutongTie-MSFT - this has been addressed. #please-close


Dialog text box speed should be slightly faster than the sound so it finishes appearing ~0.5s before the dialog box closes

No longer needed, dialog text is good like this, saw a really slow one before but haven't seen it since.


provide path for to_json/from_json of units for front-end

One of the marquee users of traitlets that users would encounter is widgets, either by way of interact or directly, as they provide one of the best ways to access the interactive Jupyter/IPython magic.
As such, for many science and engineering applications, having the units persist all the way to the front-end is enormously useful.
To talk to the front end, the entire meaning of the traitlet value at one time must be communicated over serialization to JSON: JSON is actually poorly represented vs other serialization formats, i.e. XML in providing rich types. The reference implementation, for example, of providing an identifier for Widget itself uses a magic string notation to an ephemeral id, IPY_MODEL_, which frontends can only manipulate very mechanically.
For units, serializing the number to a string would introduce a whole set of issues, as the pidgin language of every unit library is slightly different.
A solution to this would be to utilize JSON for Linking Data, and leverage extensive existing work into solving this non-trivial problem... or at least representing it in a way that is not overly-opinionated.
Consider:
from astropy import units as u

class Sphere(Widget):
    radius = NumericalTrait(convertible_to=u.m)

s = sphere(radius=1.21)
print(s.radius)
>>> 1.21 meters

In JSON, and in JSON-LD, a number is a number:
{"radius": 1.21}

But in JSON-LD, a number can also be an object with an @value:
{"radius": {"@value": 1.21}}

This level of indirection gives us a place to put other metadata about the value.
The simplest possible approach would be to continue to treat the value as a literal, and only introduce @type:
{"radius": {"@value": 1.21, "@type": "meter"}}

Hooray, we've picked a type. But we've made up our own name for it. Where do we look the values up? What about derived units, domain, preferred display units, etc.?
Here's what it could look like by utilizing the UN/CEFACT codes, which have been notionally adopted by schema.org, a large driver of linked data adoption:
{
  "radius": {
     "@context":  "http://schema.org/",
     "@type": "QuantitativeValue",
     "value": 1.21,
     "unitCode": "MTR"
  }
}

While we have said more explicitly (i.e. not unilaterally) that this value is of a type, and are playing by the rules of a standards body, this is somewhat unsatisfying:

MTR is basically a random code from an excel spreadsheet
derived units, if not already present in the several thousand already defined, would be difficult to describe some of the more interesting types possible, as a user may have created them on the fly through a series of manipulations.

To solve some of these issues, adoption of the QUDT vocabularies would provide a more robust conceptual model:
{
  "radius": {
    "@context": [
      "http://schema.org/",
      {
        "ex": "http://example.com#",
        "radius": "ex:radius",
        "unit": "http://qudt.org/1.1/vocab/unit#"
      }
    ],
     "@type": "QuantitativeValue",
     "value": 1.21,
     "unitCode": "unit:Meter"
  }
}

This adds a "thing not a string" to the unitCode, itself which can be traced back to a robust set of models.
QUDT can also support vectors of exponentiated dimension types, etc.and comes with a very large library, written by and used within an organization with a seriously multi-scale perspective (NASA).
Data Shapes
A whole other story. JSON-LD is pretty bad at labeling columns of arrays, and indeed URIs can't start with numerals. Some approach for listing columns and their types would be necessary.
Implementation
TBD... probably something like ipywidgets, i.e. numtraits.widget_serialization, which exposed a to_json and from_json functions that consulted the canonical data format and called the appropriate things in the upstream unit library (i.e. astropy, pint).
Dependencies
Generating and interpreting JSON-LD requires no additional libraries. A JSON Schema library (which already ships with jupyter) would be sufficient to provide sufficient serialization robustness, even if it couldn't do full type-checking of the resources.
The canonical lists are available for download as XML or turtle, and these could be converted to canonical JSON.
Front-end
Out of scope for this issue, but... in the near term, a set of base widgets (sliders, text boxes, etc.) which didn't simply fall over would be a good start.
As to serious implementations on the front-end parsing side of this, several quantity libraries exist including math.js and quantities.js. There is nothing as flexible as any of the python implementations, but this could be an excellent driver for the creation of such a library, driven by a canonical representation format.
Related:

This proposal is mainly concerned with the DataFrame representation.

See:

"CSV, CSVW, and metadata rows" ... "A data table with 7 metadata header rows (column label, property URI path, DataType, unit, accuracy, precision, significant figures):"
https://wrdrd.com/docs/consulting/linkedreproducibility#csv-csvw-and-metadata-rows

https://wrdrd.com/docs/consulting/knowledge-engineering#csvw CSVW

pandas-dev/pandas#3402 "ENH: Linked Datasets (RDF)"
westurner/nbmeta#1
https://github.com/jupyter/nbformat/issues/44#issuecomment-275954832 "Add JSONLD @context to the top level .ipynb node"
jupyter/nbformat#46 "Add document_info to schema"

Data Shapes

CSVW (csvw:) (tabular data)
W3C Data Cubes (qb:) (pivot tables)


Unable to use libp2p with ts-jest

Version:
0.37.3

Platform:
Windows - Node.js

Severity:
High
Description:
When I attempt to include this project (or any related package, for that matter, such as it-pipe), I get a build error when trying to run my tests (using jest). I have only found this issue when importing packages related to libp2p. All other packages installed via npm have not had compatibility issues.
Building the project (via tsc) does not give any errors.
Specifically, the error I receive is:
FAIL  tests/libp2p.test.ts
  ● Test suite failed to run

    Cannot find module 'libp2p' from 'src/something.ts'

    Require stack:
      src/something.ts
      tests/libp2p.test.ts

    > 1 | import { createLibp2p } from "libp2p"
        | ^
      2 |
      3 | export default async function something() {
      4 |   const lib = await createLibp2p({})

      at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:491:11)
      at Object.<anonymous> (src/something.ts:1:1)

Steps to reproduce the error:
Include this package (or any related package) in a project that uses jest, then attempt to test any piece of functionality of this (or related) package.
I have created a repository that I believe minimally reproduces the error:
https://github.com/nickreynolds/jest-libp2p
Other Notes
I assume there is some issue with the jest or typescript configuration? However I have not been able to find any useful information to resolve this.

Your typescript is probably getting compiled to cjs. It would be best if you compiled to ESM code or maybe look into this: https://kulshekhar.github.io/ts-jest/docs/guides/esm-support/

@nickreynolds It would seem that problem lies somewhere on ts-jest side so it might be worth opening issue there.
I've played around with your repo and:

if I use tsc to compile src and tests and run node --experimental-vm-modules ./node_modules/.bin/jest build/tests, tests will pass
uuid test is passing because uuid is not pure ESM module
ts-jest doesn't seem to care about changes in tsconfig.json
it's not really libp2p related and it probably makes more sense to have repo with some simpler, pure esm module, like it-pushable which fails with same error

I'm quite positive that there is bug somewhere in ts-jest module resolver


can't add new healthsite

Normal course:

Login to https://healthsites.io/
click 'Add new'
complete form
complete changset form
submit

The new site is not added. The page hangs as pictured in the attached screenshot

Mark, really?!

Mark, really?!


Add Seam CLI

Need to wait for seam-cli to move to @seamapi/cli
Need @seamapi/cli bundling / build process to upgrade to support re-exporting.
Publish CLI binaries to releases and host one-line install (to ensure version matches).

Hey @razor-x I'd like to contribute with the development of this new sdk, could you guide me on the best way to reach out for a more detailed conversation?

Hi @chamokk
Issues are a good place to start. Some things are easier for outside contribution than others. For example, this issue mostly requires aligning the cli package with updated tooling and packaging consistent with the this repo. Plus we need to publish the cli to a different namespace. I think these tasks are better handled by Seam maintainers since they require internal coordination.
Are you particularly asking about the CLI? If so, that repo has its own issue tracker you could look at: https://github.com/seamapi/seam-cli/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc

Thanks @razor-x for the quick response. I'd like to get more involved with Seam in general. Could you advise on the best steps for me to take?

@chamokk If you are interested in joining Seam, we have a jobs page you can reach out on 😄 https://www.seam.co/jobs

Alright, thanks!


[VL][WIP] Optimize decimal avg overflow check

just for velox changes testing.

Can one of the admins verify this patch?

@rui-mo Can you check the code change in velox?

@rui-mo Can you check the code change in velox?

Thanks, merged.


update iris.py to fix test_size error

Changed the value of the test_size attribute on the train_test_split() function fro the hardcoded 1 that causes bugs to the given parameter.
#36 should be fixed by this

Summary
fix to #36 that should patch up the issue by now allowing train_test_split() to  use the test_size argument passed to the iris class
Details and comments

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@charmerDark You should update the test as well: test/datasets/test_iris.py.

@woodsp-ibm @stefan-woerner Please take a look.


Settings Stop on Error not working

Bug: Notebook Editor
In the extension settings there is an option "Data Science: Stop On Error. Stop running cells if a cell throws an exception" (python.dataScience.stopOnError).
Is this option not intended to handle errors like in the Jupyter notebook interface (stop execution in the cell causing the error)?

Steps to cause the bug to occur

Enable the setting "Data Science: Stop On Error. Stop running cells if a cell throws an exception"
Create new Jupyter notebook with 3 cells (1st and 3rd cell a print statement, 2nd cell raise an exception)

Actual behavior

All cells are executed

Expected behavior

Execution stops after the 2nd cell like in the jupyter notebook interface.

Your Jupyter and/or Python environment

Jupyter server running: Local
Extension version: 2020.7.96456
VS Code version: 1.47.3
Setting python.jediEnabled: true
Setting python.languageServer: Jedi
Python and/or Anaconda version: winpython 3.7.7
OS: Windows | Mac | Linux (distro): Windows
Virtual environment: N/A

hi @keluc , did you reload the window after changing the setting? You can do so by pressing Ctrl + Shift + P and selecting "Developer: Reload Window"

not at first but I've tried it several times but it doesn't seem to change anything.

Ok, we will take a look into this, thanks!

same here on WinPython-<IP_ADDRESS>rc / vscode-1.48.0 / python-vscode-2020-8-101144

In addition to the issue described above, if you execute a number of cells above a certain cell and those take some time  to be executed (indicator [*]), you can execute the last cell and this one gets a prompt number before the other cells are finished.

If you execute all from the beginning it seems to execute in the correct order (at least the number of times I tried)
In the jupyter notebook or lab the execution order is always maintained.

Is this behaviour caused by the same issue?

Validated. Will be in our next major release.


basedpyright: 1.13.1 -> 1.13.2

Description of changes
Changelog: https://github.com/DetachHead/basedpyright/releases/tag/v1.13.2
cc @kiike

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Thanks for testing :)


Extension cannot be installed，Asking for help

WebUI said
“
GitCommandError: Cmd('git') failed due to: exit code(128) cmdline: git clone -v https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin.git E:\Stable_Diffusion\tmp\Auto-Photoshop-StableDiffusion-Plugin stderr: 'fatal: destination path 'E:\Stable_Diffusion\tmp\Auto-Photoshop-StableDiffusion-Plugin' already exists and is not an empty directory. '
”
cmd said
“
Error completing request
Arguments: ('', 'https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin.git') {}
Traceback (most recent call last):
File "E:\Stable_Diffusion\modules\call_queue.py", line 56, in f
res = list(func(*args, **kwargs))
File "E:\Stable_Diffusion\modules\ui_extensions.py", line 145, in install_extension_from_url
repo = git.Repo.clone_from(url, tmpdir)
File "E:\Stable_Diffusion\py310\lib\site-packages\git\repo\base.py", line 1148, in clone_from
return cls._clone(git, url, to_path, GitCmdObjectDB, progress, multi_options, **kwargs)
File "E:\Stable_Diffusion\py310\lib\site-packages\git\repo\base.py", line 1086, in _clone
finalize_process(proc, stderr=stderr)
File "E:\Stable_Diffusion\py310\lib\site-packages\git\util.py", line 386, in finalize_process
proc.wait(**kwargs)
File "E:\Stable_Diffusion\py310\lib\site-packages\git\cmd.py", line 502, in wait
raise GitCommandError(remove_password_if_present(self.args), status, errstr)
git.exc.GitCommandError: Cmd('git') failed due to: exit code(128)
cmdline: git clone -v https://github.com/AbdullahAlfaraj/Auto-Photoshop-StableDiffusion-Plugin.git E:\Stable_Diffusion\tmp\Auto-Photoshop-StableDiffusion-Plugin
stderr: 'fatal: destination path 'E:\Stable_Diffusion\tmp\Auto-Photoshop-StableDiffusion-Plugin' already exists and is not an empty directory.
'
”

Hi @SevenKan
The issue suggests that the extension is already installed. I just tried to reinstall again and I get the same error, although I'm seeing it from the UI rather than the console.
First, how are you installing the extension? Web UI Extensions tab using the github link for this plugin or something else?
As the folder seems to exist already, have you checked the Extensions / Installed tab? If exists, you can update it from there (see below)

i use Web UI Extensions tab to install this extension，Nothing in the installed list

"local directory name" is empty，I don't fill in any information here.
Just tested to remove "Auto-Photoshop-StableDiffusion-Plugin" from tmp directory and install it again.
thank you very much


Validation: Reject a charge request when effective date and termination date are two different dates

Currently, when a request is submitted with different dates in effectiveDate and terminationDate the charge update flow is initiated. In there, the command ends in an InvalidOperationException.
Suggest:
Add a validation that rejects when request contains different dates.

TerminationDateMustMatchEffectiveDateValidationRule has been implemented in another story, specifically in this PR - hence closing this story.


pub should download packages over https

For what it's worth, the website appears to support HTTPS already:
https://pub.dartlang.org
So I think this is blocked on dart:io support (see "blocked on")

This issue has been moved to dart-lang/pub#118.


[FLINK-6792] [mvn] Move maven-checkstyle-plugin before maven-shade-plugin definition in pom.xml

Somehow appending the maven-checkstyle-plugin at the end of the pom.xml changed the order
of the maven-assembly-plugin and the maven-shade-plugin in the package phase. This breaks
things since the shade plugin has to run before the assembly plugin to build the fat-jar.
Specifying the checkstyle-plugin before the maven-shade-plugin resolves the issue.

+1 to merge if Travis is green.

Thanks for the quick review @tzulitai. Travis passed locally. Merging this PR.


[Feature Request] pip package

Hi there,
Following up on the pull request for SillyTavern, I really liked your project and wondering if you could wrap it into a pip package so the translation service could be installed to any Python project. I would like including it into my ST-Extras project (https://github.com/SillyTavern/SillyTavern-extras) as an optional module to make a one-click install for users of ST and colabs.
If you need examples, here's Silero TTS server that was possible to be integrated thanks to that: https://github.com/ouoertheo/silero-api-server
Best wishes.

Hi!
Thanks for request, and for SillyTavern stuff! :)
About pip package - I'm not really sure about it. One of core functions as I feel it's to add your own plugins and edit their options - and in this case you must have access to folder structure. And I just no good at pip packages making...
On other hand, there is two ways:

There are already cool pip package if you wanna have access to different online translators almost at no cost: https://pypi.org/project/deep-translator/ Somewhere I just use it's functions.

You can just integrate OneRingTranslator in SillyTaverns-extras, if you want. It's as easy as:

Copy jaa.py and oneringcore.py to your root project folder
Copy plugins folder (with translation plugins you feel you need)

just somewhere run (I've just copied relevant fragments from run_webapi.py file):
core = OneRingCore()
core.init_with_plugins()

def translate(text:str, from_lang:str = "", to_lang:str = "", translator_plugin:str = "", add_params:str = ""):
    if translator_plugin == "":
        translator_plugin = core.default_translator
    res = core.translators[translator_plugin][1](core,text,from_lang,to_lang,add_params)

That's all!
I will think about pip package later, but not sure I'll make it good...


[cosmetic][deck.gl.arc] column title overlap in 'Query' section of data panel

I am having a look at this


Update mh-s511.json

Not sure what the product IDs in the "-IL" versions are, but perhaps they are for a different product (they mention a relay, rather than a touch panel switch).    So I think this is now correct.
(not sure how I can submits this pull request against the previous?)

(not sure how I can submits this pull request against the previous?)

you did :)

@AlCalzone Hopefully I've done correctly - have done all three files, with all the parameters relevant for each.
Really need to find a decent amount of time to get my head around github!

You're creating a conflict by modifying a file you're modifying in #2178. Please push the changes to the file in that PR.


Cache the last transformation used

If you call several times icu_transform with the same transformation, the time spent creating the ICU transformation is about 10 times the time spent using it.
This patch caches the last transformation used and reuse it if needed. This has almost zero cost, while giving a really nice boost if you fall in this situation.
Exemple code:
Before:
test=> \copy (select icu_transform(x::text, 'NFKD') from generate_series(1, 1000) x) to '/dev/null';
COPY 1000
Time: 23.414 ms

After:
test=# \copy (select icu_transform(x::text, 'NFKD') from generate_series(1, 1000) x) to '/dev/null';
COPY 1000
Time: 1.314 ms

Any chance of an implementation that doesn't leak an UTransliterator per session?
If icu_transform was marked parallel safe (as it probably should), would this technique be safe?
Shouldn't the caching variables have file scope (declared static)?

Any chance of an implementation that doesn't leak an UTransliterator per session?
Hum, what do you mean per session? This is allocated in the backend memory, so when the session ends, the process exits and memory is freed. And I don't see what would be the best time to free the UTransliterator instance.

If icu_transform was marked parallel safe (as it probably should), would this technique be safe?
I would say yes, but perhaps not efficient: postgresql is and remains mono-thread, so there is no concurrency involved between backends. I can look into it and mark icu_transform parallel safe.

Shouldn't the caching variables have file scope (declared static)?
Indeed it should, I can fix that.

Hum, what do you mean per session? This is allocated in the backend memory, so when the session ends, the process exits and memory is freed. And I don't see what would be the best time to free the UTransliterator instance.

Ideally a per-query cache would be cleaner. I'm not aware that it's possible though. It would be if it was just a palloc'ed buffer living in the context of the query, but we have to call an ICU function to deallocate the transliterator.
There's still the bit I commented above about a spurious utrans_close(), but otherwise OK to merge.


CoNtExT export

There's export feature through pandas based on LaTeX. But LaTeX distro size more than 1 gb, context size somewhat around 100 md. What about to switch them?

https://wiki.contextgarden.net/Main_Page
It's actually a latex dialect, just kinda more modern one. It also presented in pandoc as one of pdf render engines right next to the latex. Actually I've used to know about this tool exactly from pandas docs.
Anyway my point was actually to not to add something to the app, but to slightly change that pandoc command that you provide for pdf rendering to use as engine not latex, but context. This allows to do exactly the same as the app doing now in terms of md export, but to not force user to install 1,5 gb as a root, yet just 100+ mb and in a local user dir.
Ps: The downside of this tool (someone could say so) is that it doesn't support any packages by its philosophy. It's like if you needed something — code it yourself, but anyway pandoc have a pretty well template within itself.


Make protobuf Decimal a shared type

Suggestion from @Mech0z

Will be carried out via https://github.com/Energinet-DataHub/geh-charges/issues/938


High CPU Usage

It appears that when syncing a zone with a somewhat large number of records in it (32,000), CPU usage is pretty high. When not syncing that zone the servers' CPU usage is around 2-5%. When adding that zone in the CPU usage sits at 30% minimum and only goes up from there (sometimes rendering the server unusable, with 100% CPU).

I had some thoughts on this. It looks like the PowerShell is returning 1) more than required and 2) data formatted as a string and then later parsed out using a custom parsing function. What if you only returned what was needed and the data in JSON format?
Getting/Adding records, looks like you only need HostName, RecordData, and DistinguishedName. Getting zones, looks like you only need ZoneName.
In buildAddDnsRecordScript:
$Ret.CmdOut = Get-DnsServerResourceRecord @GetParams -ErrorAction Stop | Select-Object -Property HostName, RecordData, DistinguishedName | ConvertTo-Json

In buildGetDnsZoneScript:
$Ret.cmdOut=Get-DnsServerZone -ErrorAction Stop | Select-Object -Property ZoneName | ConvertTo-Json

In buildGetDnsResourceRecordScript:
$Ret.cmdOut=Get-DnsServerResourceRecord -ZoneName $zone -ErrorAction Stop | Select-Object -Property HostName, RecordData, DistinguishedName | ConvertTo-Json

I'd give this a try locally, but I don't have a good test environment for it and I'd prefer to not mess up our environment 😅

Thank you for the comments and the suggestions. I realise that importing records form a large zone is quite costly. Unfortunately I have looked at the Powershell and the in object returned by Get-DnsServerResourceRecord RecordData properties are dependent on the Resource Record type so I had no luck selecting the property then converting to json without an extra pass to parse the json response.
I would be interested in finding out if you got that to work.
The Format-List seems to be able to pull the right property (IpV4Address, HostNameAlias etc) from the object without having to check each object type. I think it has something to do with the XML formatters but I didnt investigate fully.

I had some thoughts on this. It looks like the PowerShell is returning 1) more than required and 2) data formatted as a string and then later parsed out using a custom parsing function. What if you only returned what was needed and the data in JSON format?
Getting/Adding records, looks like you only need HostName, RecordData, and DistinguishedName. Getting zones, looks like you only need ZoneName.
In buildAddDnsRecordScript:
$Ret.CmdOut = Get-DnsServerResourceRecord @GetParams -ErrorAction Stop | Select-Object -Property HostName, RecordData, DistinguishedName | ConvertTo-Json

In buildGetDnsZoneScript:
$Ret.cmdOut=Get-DnsServerZone -ErrorAction Stop | Select-Object -Property ZoneName | ConvertTo-Json

In buildGetDnsResourceRecordScript:
$Ret.cmdOut=Get-DnsServerResourceRecord -ZoneName $zone -ErrorAction Stop | Select-Object -Property HostName, RecordData, DistinguishedName | ConvertTo-Json

I'd give this a try locally, but I don't have a good test environment for it and I'd prefer to not mess up our environment 😅

Thank you for the comments and the suggestions. I realise that importing records form a large zone is quite costly. Unfortunately I have looked at the Powershell and the in object returned by Get-DnsServerResourceRecord RecordData properties are dependent on the Resource Record type so I had no luck selecting the property then converting to json without an extra pass to parse the json response.
I would be interested in finding out if you got that to work.
The Format-List seems to be able to pull the right property (IpV4Address, HostNameAlias etc) from the object without having to check each object type. I think it has something to do with the XML formatters but I didnt investigate fully.


pass buffer file name to ‘black --stdin-filename …’

pass the file name (if any) to black via the ‘--stdin-filename’ command line flag. it will be used to discover the project root directory and hence the configuration file (see find_project_root() callers in the black sources), instead of the default behaviour:

If you’re formatting standard input, Black will look for
configuration starting from the current working directory.
– https://black.readthedocs.io/en/stable/usage_and_configuration/the_basics.html#where-black-looks-for-the-file

closes #13.

@ayys can you give this a try?


Public constructor for UpdateEventArgs or public method that constructs it

I'm trying to make unit tests for a project that uses Telegram.Bot... So I'm mocking ITelegramBotClient and I want to raise the OnMessage event, but this event needs MessageEventArgs, and this object needs UpdateEventArgs to be constructed and this object just has an internal constructor.
https://github.com/TelegramBots/Telegram.Bot/blob/e09ed3f20ba6a1f05ac0ea8c2e3dccc3550a641f/src/Telegram.Bot/Args/UpdateEventArgs.cs#L24
Is it possible to make a public constructor for UpdateEventArgs?
Or a public method that internally construct a UpdateEventArgs with the given Update, or a MessageEventArgs with the given Message.

I'm struggling with exactly the same problem.


feat: region disk usage statistic

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?

region stat includes memtable(estimated), wal(estimated), sst(accurate), manifest(accurate) .
engine can invoke get_region_stat to get specific region stat.

Checklist

[x]  I have written the necessary rustdoc comments.
[x]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
https://github.com/GreptimeTeam/greptimedb/issues/2551

test_to_timezone_aware_string looks like failed


Refine zenfs metrics

Current ZenFS Metrics abstraction is way too complex, we should simplify it:

Simplify ZenFS's metrics tracking implementation
Update ZenFS submodule (with better metrics abstraction)

LGTM


Consolidate trace data for Sunny Awards projects

What is it?
Many of the Sunny Awards projects have trace event data that we need to derive metrics. We need to union the relevant trace data from all supported chains and filter on the to/from events that include Sunny project contracts.

First, we create a snapshot of relevant project contracts. We'll use a Google Sheet just to keep this simple to update.
Then, we prepare a filter for relevant traces from the 180 day time window we care about. That's effectively this query:
with txns as (
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Base' as chain
    from `opensource-observer.superchain.base_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
      and call_type = 'call'
    union all
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Optimism' as chain
    from `opensource-observer.superchain.optimism_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
      and call_type = 'call'
    union all
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Zora' as chain
    from `opensource-observer.superchain.zora_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
      and call_type = 'call'
    union all
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Mode' as chain
    from `opensource-observer.superchain.mode_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
      and call_type = 'call'
    union all
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Frax' as chain
    from `opensource-observer.superchain.frax_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
      and call_type = 'call'
    union all
    select
      transaction_hash, to_address,from_address,block_timestamp, 'Metal' as chain
    from `opensource-observer.superchain.metal_traces`
    where
      block_timestamp between '2024-03-01' and '2024-09-01'
      and status = 1
)

select *
from txns

Unfortunately, this is a huge query so we need to store it temporarily in a new table.
Now, we apply the project filter to get a much smaller (50GB) table of just the traces we care about:
select *
from `static_data_sources.sunny_traces` traces
join `static_data_sources.sunny_project_apps` projects
  on
    traces.chain = projects.chain
    and (traces.to_address = projects.address or traces.from_address = projects.address)

Finally, we derive a high level set of events that we can use for further metrics analysis.
select
  projects.uuid,
  case when traces.block_timestamp < '2024-06-01' then '180D' else '90D' end as time_window,
  case when traces.to_address = projects.address then 'to_event' else 'from_event' end as event_type,
  traces.chain,
  traces.to_address,
  traces.from_address,
  count(distinct transaction_hash) as txns
from `static_data_sources.sunny_project_traces` traces
join `static_data_sources.sunny_project_apps` projects
  on
    traces.chain = projects.chain
    and (traces.to_address = projects.address or traces.from_address = projects.address)
group by 1,2,3,4,5,6


Update to allow for all supported map options from google maps API

I needed the ability to support more options than were provided. I also wanted a quick way to make a map non-interactive
The directive now supports map-options which will take an object of options and these options are then merged with mapDefaultOptions.
The directive also supports a static='true' option which sets different defaults and makes the map non-interactive (for displaying location only etc)

great work, thank you!


Allow logging behavior to be customized by subclasses

fixes #14

Thanks!

Yeah I'll cut a release tonight or this weekend.


after 0.11.1 upgrade, HomeKit sends doorbell alerts for vanilla cameras

I recently upgraded to Frigate 0.11.1 and version 3.0.0.  After the upgrade, I now receive "doorbell" alerts from all my vanilla hikvision cameras when it detects people.
Is there a way I can disable this behavior?  Thanks!

This is going to be a homekit config issue, most likely you'll just want to filter out the binary_sensor.<camera_name>_person_occupancy entities and make sure they aren't added to HomeKit. Odds are this is being perceived as a doorbell due to its occupancy device class.

hmm.  i added this to my homekit configuration:
filter:
  exclude_entity_globs:
      - binary_sensor.*_occupancy

Didn't seem to do the trick.  I'm looking more.

And I'll note that no binary_sensors for these occupancy sensors are showing up in Home.app at all.

Just found this: https://github.com/home-assistant/core/issues/78541

I'm testing the workaround in that issue.  (Template always off binary sensor to link as a doorbell.)  So far it seems to be working.  Thanks!

Is there anything in the way frigate exposes the sensors that they might be misclassified as doorbell or is this purely a HA issue?
On the HA side it isn't assigned to anyone as the default assignee removed them self.
I would say something like they are probably focusing on matter support, but matter does not have camera support so this issue and the workaround is kind of annoying for sure.
I haven't used the workaround as I suspect I will have to re-setup all my cameras again and selectively add them to my apple TVs again if the device type etc changes in a future update. So for now I only have my real doorbell exposed in HA.

Is there anything in the way frigate exposes the sensors that they might be misclassified as doorbell or is this purely a HA issue?

It could be that the sensor uses device_class: occupancy but then we'd expect this to happen for all objects detected and not just person

Is there anything in the way frigate exposes the sensors that they might be misclassified as doorbell or is this purely a HA issue?

It could be that the sensor uses device_class: occupancy but then we'd expect this to happen for all objects detected and not just person

motion would be a more appropriate device class based on what is actually detected and how most cameras work..
Also the way they trigger in HA (no object tracking) motion would make more sense.. Occupancy sensors are normally long on off period sensors and motion more short on off.
Would you be able to run a test with the class changed?

motion would be a more appropriate device class based on what is actually detected and how most cameras work..

The author of this issue said that disabling person detection stopped this from happening, so I'm not sure on motion.

Also the way they trigger in frigate (no object tracking, just raw output) motion would make more sense.. Occupancy sensors are normally long on off period sensors and motion more short on off.

Well, the default config for the motion sensor in frigate requires 30 seconds of no motion to go back to off (by default).

Would you be able to run a test with the class changed?

You can just go into your custom components folder and comment out https://github.com/blakeblackshear/frigate-hass-integration/blob/master/custom_components/frigate/binary_sensor.py#L134 then restart HA

I actually am using person detection as I remapped that for my door bell so that isn't an option. I would also only want to use PERSON motion events mapped to the other cameras if I set them up.
30 seconds isn't much frigate sends an event every time it detects an object even if it is still and lost sight of it for a few seconds. At least as per discussions previously  of the difference between how the mqtt / ha sensors worked vs how events work (they have stationary object code)

I actually am using person detection as I remapped that for my door bell so that isn't an option.

What are you referring to, what is not an option?

I would also only want to use PERSON motion events mapped to the other cameras if I set them up.

I think, to be explicit, we should not refer to object events as motion but as occupancy.

30 seconds isn't much frigate sends an event every time it detects an object even if it is still and lost sight of it for a few seconds. At least as per discussions previously of the difference between how the mqtt / ha sensors worked vs how events work (they have stationary object code)

The 30 seconds is only referring to the motion sensor, not the object occupancy sensors

What are you referring to, what is not an option?

Disabling person detection, I DO want to use that in HA and have it re-mapped to the person sensor instead of the random one HA assigned.

I think, to be explicit, we should not refer to object events as motion but as occupancy.

Probably a good idea to look at how other cameras and integrations eposes object detection.
As far as I can tell Dahua / Amcrest / Homekit enabled devices all refer to person / face / object detection as motion events.

The 30 seconds is only referring to the motion sensor, not the object occupancy sensors

Correction I was thinking of person count (highly erratic), however person occupancy is more stable. So if there is a 30 second cool down I suppose that would meet the definition of occupancy.

Disabling person detection, I DO want to use that in HA and have it re-mapped to the person sensor instead of the random one HA assigned.

I wasn't suggesting it as a fix. Simply that the user said it was person detection disabling it that stopped it for them which suggests it isn't the motion sensor doing this.

Correction I was thinking of person count (highly erratic), however person occupancy is more stable. So if there is a 30 second cool down I suppose that would meet the definition of occupancy

The occupancy sensors do not have any cool down, they are raw output from what frigate detects. The only sensor that has a cool down is the basic motion sensor.

Seems there's some effort in Home Assistant repo to resolve this issue, and the suggestion is to upgrade to the new event component: https://github.com/home-assistant/architecture/discussions/929
Discussion: https://github.com/home-assistant/core/issues/78541

That's not totally clear what is meant by "old system".
And using the event component for things like person detected instead of the occupancy sensor like it is now wouldn't make sense in my opinion. The event component is for events, stateless things that occur.


Cannot unify array(int64, 2d, F) and array(float64, 2d, C) for 'X.2', np.linalg.inv() even with np.ascontiguousarray() .astype(np.float64) everywhere

Check off these boxes:

[X] I have tried using the latest released version of Numba (most recent is
visible in the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
0.51.2
[X] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).
[X] ensure that there is no other issue present that
already describes the issue you have
(search at https://github.com/numba/numba/issues?&q=is%3Aissue).

Details of the bug here, including, if applicable, what you expected to happen
Getting this error even with np.ascontiguousarray() .astype(np.float64) everywhere:
Cannot unify array(int64, 2d, F) and array(float64, 2d, C) for 'X.2',

@njit
def numba_get():
  X=np.ascontiguousarray(X.astype(np.float64))
  xx = np.ascontiguousarray(np.dot(X.T, X).astype(np.float64))
  xx_inv = np.ascontiguousarray(np.linalg.inv(xx).astype(np.float64))
         ^

xx=[[949.74599572 137.822009  ]
 [137.822009    20.        ]]

Thanks for the report. This doesn't appear to be a minimal working reproducer, please could you format your report in such a way that it can be copy-pasted and then executed, so as to demonstrate the problem you are having, many thanks!

Closing this issue due to lack of information. If more information becomes available please add it and reopen the issue. Thanks.


refactor: Introduce project abstraction in tenant

Describe your changes
This allows wrapping up all the entities that belong to a single project in a single object. This gives the added flexibility of adding Caches/Indexes to this project object.
How best to test these changes
Issue ticket number and link

Codecov Report
Base: 32.30% // Head: 32.83% // Increases project coverage by +0.52% :tada:

Coverage data is based on head (eb2c7ab) compared to base (da85bab).
Patch coverage: 31.70% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #736      +/-   ##
==========================================
+ Coverage   32.30%   32.83%   +0.52%
==========================================
  Files         129      130       +1
  Lines       14420    14425       +5
==========================================
+ Hits         4659     4737      +78
+ Misses       9324     9243      -81
- Partials      437      445       +8

Impacted Files
Coverage Δ

server/metadata/database.go
93.93% <0.00%> (ø)

server/metadata/errors.go
46.66% <0.00%> (+46.66%)
:arrow_up:

server/services/v1/api.go
0.00% <0.00%> (ø)

server/services/v1/database/errors.go
0.00% <0.00%> (ø)

server/services/v1/database/query_runner.go
4.71% <0.00%> (-0.02%)
:arrow_down:

server/services/v1/management.go
0.00% <0.00%> (ø)

server/services/v1/realtime/device_session.go
0.00% <0.00%> (ø)

server/services/v1/realtime/errors.go
0.00% <0.00%> (ø)

server/services/v1/realtime/runner.go
0.00% <0.00%> (ø)

server/metadata/tenant.go
35.09% <40.60%> (+6.93%)
:arrow_up:

... and 7 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


feat: add a page with a feature matrix / checklist for SDK completeness

This page can be used by developers to make sure they've completed
all of the important functionality before we move an SDK to 1.0.

Use the "rich diff" button to see the rendered markdown.

@NoSQLKnowHow @driftdiver you may be interested in this.

I added a commit https://github.com/momentohq/standards-and-practices/pull/39/commits/686ff11e68033c8587192b09e2d802ecca53cf55 to address most of the feedback from the PR; all of the things that I thought were actionable / good ROI at this time.

@schwern I'm gonna go ahead and merge this even though I didn't get a chance to hear your response to my reply about linking to the specs repos for the deep details, since you are out for the next few days.
we can discuss further / iterate on this going forward though.

@schwern I did add integration testing to the list btw.  Thanks for catching that.


fix: Changing embedded web map JSON to legal syntax

The "map" property of MapExtension no longer supports JSON (it's only used to pass in an actual Map object). The webMap/webScene properties must be used instead. Furthermore, starting with Web 5.26.0, this JSON must fully conform to the web map spec, as it is Esri's API that will parse it.

confirm fixed


Could not start wabashd.

Hi,
Thanks for your work on wabash.  I've installed wabash using chocolatey, and wabashd from the wsl-translinux repo.  My WSL release is 16.04.1 LTS.  When I try to launch wabash.exe, it gives error:

If I try to manually run start-wabashd in WSL, I get the following error:
version: 4
shell: /bin/bash
Error: /proc must be mounted
To mount /proc at boot you need an /etc/fstab line like:
proc   /proc   proc    defaults
In the meantime, run "mount proc /proc -t proc"
sess: -1 daem: 0
Is there something else I need to do to get wabash working?
Thanks, Richard

I have tried clearing the lock file which has been present once or twice.

That's odd. It looks like wabashd is having trouble (or rather, ps, which wabashd uses, is) getting the list of running processes. Can you send me the output of the following commands in your WSL:
ps --ppid 1 --no-headers -o comm
ls /proc
and
mount
? Thanks.

Thanks.
$ ps --ppid 1 --no-headers -o comm
Error: /proc must be mounted
To mount /proc at boot you need an /etc/fstab line like:
proc   /proc   proc    defaults
In the meantime, run "mount proc /proc -t proc"
$ ls /proc
1  17  2  cmdline  cpuinfo  filesystems  interrupts  loadavg  meminfo  mounts  net  self  stat  sys  uptime  version
$ mount
rootfs on / type rootfs (rw,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204320k,mode=755)
none on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
none on /run/shm type tmpfs (rw,nosuid,nodev,relatime)
none on /run/user type tmpfs (rw,nosuid,nodev,noexec,relatime,size=102400k,mode=755)

Hm. I'll say up front that this looks to me like something's gone fairly fundamentally wrong with your WSL installation (if ps isn't working even from the command line, it's not a wabash-specific problem). You could try seeing if ps works as root, or do an strace ps to see if the problem shows up there, but unless you've got a lot of un-backuped customization done to WSL, I'd be tempted to just uninstall and reinstall it to clear this up.

Thanks Alistair.  I'll try that.  I wasn't sure if the lack of process visibility was a normal limitation of bash on Windows, but it sounds like an issue on my machine.  I'll check and close if so.  Thanks.

It was my upgrade to 16.04 which killed WSL rather than using the Insider Preview build.  Sorry about that.  Thanks for your help.  Richard