Possible fix for https://github.com/thegeeklab/drone-docker-buildx/issues/28

Stops using docker tag + push commands and does everything with buildx
Adds all required tags to the buildx command

My Go skills are non-existent, so please triple-check

Testing locally ; found a few issues ; will get back with fixes

With:
kind: pipeline
type: docker
name: default

steps:
- name: docker
  image: bitprocessor/drone-docker-buildx:latest
  privileged: true
  settings:
    context: buildx
    dockerfile: buildx/Dockerfile
    repo: bitprocessor/multiarch-drone
    tags:
      - foo
      - bar
    platforms:
      - linux/arm64
      - linux/amd64
    username:
      from_secret: docker_username
    password:
      from_secret: docker_password

This successfully builds and pushes towards docker hub.
I disabled the rmipart as it was throwing errors (expected the generic tag) and I deemed it useless anyway as all this is done in a throw-away d-in-d setup anyway. I'll do another commit soon that removes the commented out sections.
latest: Pulling from ******/drone-docker-buildx
Digest: sha256:a302a2b759177d70c1e5261d6d3ec4cdcc8fad91fea3c119c5afcfd4c97aa4cf
Status: Downloaded newer image for ******/drone-docker-buildx:latest
+ /usr/local/bin/dockerd --data-root /var/lib/docker --host=unix:///var/run/docker.sock
Detected registry credentials
+ /usr/local/bin/docker version
Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:42:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:46:14 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ /usr/local/bin/docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runtime.v1.linux runc io.containerd.runc.v2
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.15.0-143-generic
 Operating System: Alpine Linux v3.13 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 62.81GiB
 Name: 082292f2f9a6
 ID: XLWC:YSJZ:KIUG:4JQE:ZMKW:ZU4L:HF5O:XBNQ:FLRP:U6L6:PHET:JL7J
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
WARNING: No swap limit support
 Username: ******
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

+ /usr/local/bin/docker buildx create --use
keen_hugle
+ /usr/local/bin/docker buildx ls
NAME/NODE     DRIVER/ENDPOINT             STATUS   PLATFORMS
keen_hugle *  docker-container
  keen_hugle0 unix:///var/run/docker.sock inactive
default       docker
  default     default                     running  linux/amd64, linux/386
+ /usr/local/bin/docker buildx build --rm=true --push -f buildx/Dockerfile buildx --pull=true --build-arg DOCKER_IMAGE_CREATED=2021-07-01T18:24:18Z --platform linux/arm64,linux/amd64 -t ******/multiarch-drone:foo -t ******/multiarch-drone:bar
#1 [internal] booting buildkit
#1 sha256:3273e9fc5fdd1ce3ae806769e4aae2609b87925227e18d3b7ce972049063779d
#1 pulling image moby/buildkit:buildx-stable-1
#1 pulling image moby/buildkit:buildx-stable-1 4.0s done
#1 creating container buildx_buildkit_keen_hugle0
#1 creating container buildx_buildkit_keen_hugle0 0.5s done
#1 DONE 4.5s

#2 [internal] load build definition from Dockerfile
#2 sha256:d3720d89b9e96ea931cdbbfcc5cdbf3c8f2fc69a80a9ba11d05c66fd75cacda4
#2 transferring dockerfile: 51B done
#2 DONE 0.0s

#3 [internal] load .dockerignore
#3 sha256:e0405253fd9cde31caf47c31a259c8aaf27db460fe269a6a919398a792854fa8
#3 transferring context: 2B done
#3 DONE 0.0s

#5 [linux/amd64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:1b81b8e0cb240d69aea10317b964ca403e3026583df1ee104e71fb8b9192dfe5
#5 ...

#6 [auth] library/alpine:pull token for registry-1.docker.io
#6 sha256:66868cf270c5181509f44667a763c014fc53356a894331b742d8c458283272b0
#6 DONE 0.0s

#4 [linux/arm64 internal] load metadata for docker.io/library/alpine:3
#4 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#4 DONE 1.7s

#5 [linux/amd64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:1b81b8e0cb240d69aea10317b964ca403e3026583df1ee104e71fb8b9192dfe5
#5 DONE 1.7s

#7 [linux/arm64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#7 sha256:ed2c270953b2750731b144e9c735f7fc32302891e45731e7c8e94a3afa2ffc8f
#7 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#7 DONE 0.0s

#8 [linux/amd64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#8 sha256:5deda93350bce5d963e186041c03b9fc9f03d8e5168a66519c6b7fc41675107e
#8 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#8 DONE 0.0s

#9 exporting to image
#9 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#9 exporting layers done
#9 exporting manifest sha256:84f970a30e36f9b03f57e6510f25b9fa74229e2c377c8ee1a9e92c3aee63b69e done
#9 exporting config sha256:6729c91422712f0bc6801eabb83948c67126a7d5f19585a70586052216b17051 done
#9 exporting manifest sha256:c00627643b27aeec6fdcfce041f60a6cb36796250f966cff4575d32b4594639d done
#9 exporting config sha256:2b52538fc127808cb8cf80df47778b9cfc8bb367531c163a646d021cea92be35 done
#9 exporting manifest list sha256:c5248ddd8e0f84d7638f2aad8ce8c750d14dcdc75aafa0fe21a9cc037622f0c1 done
#9 pushing layers
#9 ...

#10 [auth] ******/multiarch-drone:pull,push token for registry-1.docker.io
#10 sha256:7b1572d5f71ca3449d15de410a88d0e2bed4c21b7da63e339d827403f6da123c
#10 DONE 0.0s

#11 [auth] ******/multiarch-drone:pull,push library/alpine:pull token for registry-1.docker.io
#11 sha256:fd022098dc6495a92155a4096b8612ce5c195f42946141d194cba44b04914ec1
#11 DONE 0.0s

#9 exporting to image
#9 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#9 pushing layers 1.2s done
#9 pushing manifest for docker.io/******/multiarch-drone:foo
#9 pushing manifest for docker.io/******/multiarch-drone:foo 1.2s done
#9 pushing layers 0.6s done
#9 pushing manifest for docker.io/******/multiarch-drone:bar
#9 pushing manifest for docker.io/******/multiarch-drone:bar 0.9s done
#9 DONE 3.9s

That will not work this way. There was a reason why we had different handling for a single arch build and multiple arches :) The most important one is, that we want to have the ability to dry-run builds (without a publishing) on e.g. PRs on single arch builds. But that will not work if we use the --push flag all the time.

So basically, if we change it so that the --push isn't added when dry-run is active, that would solve the issue ?

Without the --push it does also not build the image, see https://github.com/docker/buildx/issues/59#issuecomment-659303756

Dry-run (just build the image dont publish it) will only work on single arch anyway, but for this to work you need --load
For multi arch it will not work as there is no way provided by dockerx

But maybe my understanding is completely wrong

Sure it does:
❯ docker buildx build -t test .
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
[+] Building 1.8s (5/5) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 67B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/alpine:3                                                                                0.5s
 => [1/2] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.6s
 => => resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.0s
 => => sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b 2.81MB / 2.81MB                                                                                0.5s
 => => extracting sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b                                                                                0.1s
 => [2/2] RUN apk update                                                                                0.6s

:facepalm: oh ok, makes sense. So in this case we could use --push only if dry-run is not true regardless of platforms is one or multiple arches right? And this way it should also be possible to use dry-run on multiple platforms again... Looks like I completely misinterpreted how it works.

Double-checked to be certain, 3 builds without push (non platform, amd64 and arm64) (see output below)
What IS needed it the buildx create --use for the platform builds, but that runs anyway with the cmds = append(cmds, commandBuilder())
❯ docker buildx build -t test .
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
[+] Building 1.8s (5/5) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 67B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/alpine:3                                                                                0.5s
 => [1/2] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.6s
 => => resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.0s
 => => sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b 2.81MB / 2.81MB                                                                                0.5s
 => => extracting sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b                                                                                0.1s
 => [2/2] RUN apk update                                                                                0.6s
❯ docker buildx create --use
amazing_franklin
❯ docker buildx build --platform linux/amd64 -t test .
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
[+] Building 5.8s (7/7) FINISHED
 => [internal] booting buildkit                                                                                2.5s
 => => pulling image moby/buildkit:buildx-stable-1                                                                                1.6s
 => => creating container buildx_buildkit_amazing_franklin0                                                                                0.9s
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 67B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/alpine:3                                                                                1.7s
 => [auth] library/alpine:pull token for registry-1.docker.io                                                                                0.0s
 => [1/2] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.5s
 => => resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.0s
 => => sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b 2.81MB / 2.81MB                                                                                0.4s
 => => extracting sha256:5843afab387455b37944e709ee8c78d7520df80f8d01cf7f861aae63beeddb6b                                                                                0.1s
 => [2/2] RUN apk update                                                                                0.7s
❯ docker buildx build --platform linux/arm64 -t test .
WARN[0000] No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load
[+] Building 2.7s (5/5) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 31B                                                                                0.0s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [internal] load metadata for docker.io/library/alpine:3                                                                                0.8s
 => [1/2] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.4s
 => => resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0                                                                                0.0s
 => => sha256:58ab47519297212468320b23b8100fc1b2b96e8d342040806ae509a778a0a07a 2.71MB / 2.71MB                                                                                0.3s
 => => extracting sha256:58ab47519297212468320b23b8100fc1b2b96e8d342040806ae509a778a0a07a                                                                                0.1s
 => [2/2] RUN apk update

Took me a few commit due to lack of proper Go knowledge ;) but:
With DRYRUN:
kind: pipeline
type: docker
name: default

steps:
- name: docker
  image: bitprocessor/drone-docker-buildx:latest
  privileged: true
  settings:
    dry_run: true
    context: buildx
    dockerfile: buildx/Dockerfile
    repo: bitprocessor/multiarch-drone
    tags:
      - foo
      - bar
    platforms:
      - linux/arm64
      - linux/amd64
    username:
      from_secret: docker_username
    password:
      from_secret: docker_password

Result:
latest: Pulling from ******/drone-docker-buildx
Digest: sha256:e9079d4e10d83af155dbe7a6194c5986febdffa52f0b613835a506f827aeb704
Status: Downloaded newer image for ******/drone-docker-buildx:latest
+ /usr/local/bin/dockerd --data-root /var/lib/docker --host=unix:///var/run/docker.sock
Detected registry credentials
+ /usr/local/bin/docker version
Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:42:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:46:14 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ /usr/local/bin/docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.15.0-143-generic
 Operating System: Alpine Linux v3.13 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 62.81GiB
 Name: ce7281a3b709
 ID: OB5G:UTRH:TJXR:SKU2:ND57:U6MU:5YA3:W3AW:ITLB:IWF3:5OO3:XCYO
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: ******
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

WARNING: No swap limit support
+ /usr/local/bin/docker buildx create --use
funny_antonelli
+ /usr/local/bin/docker buildx ls
NAME/NODE          DRIVER/ENDPOINT             STATUS   PLATFORMS
funny_antonelli *  docker-container
  funny_antonelli0 unix:///var/run/docker.sock inactive
default            docker
  default          default                     running  linux/amd64, linux/386
+ /usr/local/bin/docker buildx build --rm=true -f buildx/Dockerfile buildx --pull=true --build-arg DOCKER_IMAGE_CREATED=2021-07-02T10:26:15Z --platform linux/arm64,linux/amd64 -t ******/multiarch-drone:foo -t ******/multiarch-drone:bar
time="2021-07-02T10:26:15Z" level=warning msg="No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load"
#1 [internal] booting buildkit
#1 sha256:97310f5ea1594aacb4323d7c9a6e5de33ce21f455095b1247bd2d95d83d06885
#1 pulling image moby/buildkit:buildx-stable-1
#1 pulling image moby/buildkit:buildx-stable-1 4.0s done
#1 creating container buildx_buildkit_funny_antonelli0
#1 creating container buildx_buildkit_funny_antonelli0 0.7s done
#1 DONE 4.7s

#2 [internal] load build definition from Dockerfile
#2 sha256:114c82e59c43b7539a97ceb708dd6ee55ed92ba46ffd5c4aa0580e8451cdf50f
#2 transferring dockerfile: 51B done
#2 DONE 0.0s

#3 [internal] load .dockerignore
#3 sha256:67147bc656e0ef110b751007193cc3c4973fc1babcc5267fe75c37cb57d0904d
#3 transferring context: 2B done
#3 DONE 0.0s

#5 [linux/arm64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#5 ...

#6 [auth] library/alpine:pull token for registry-1.docker.io
#6 sha256:a26f134a36f7e4f28e099da4c2c59a6287727a96f0e569b5a0e0f3c1554a2eee
#6 DONE 0.0s

#4 [linux/amd64 internal] load metadata for docker.io/library/alpine:3
#4 sha256:1b81b8e0cb240d69aea10317b964ca403e3026583df1ee104e71fb8b9192dfe5
#4 DONE 1.8s

#5 [linux/arm64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#5 DONE 1.8s

#7 [linux/arm64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#7 sha256:ed2c270953b2750731b144e9c735f7fc32302891e45731e7c8e94a3afa2ffc8f
#7 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#7 DONE 0.0s

#8 [linux/amd64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#8 sha256:5deda93350bce5d963e186041c03b9fc9f03d8e5168a66519c6b7fc41675107e
#8 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#8 DONE 0.0s

Without the dry_run flag:
latest: Pulling from ******/drone-docker-buildx
Digest: sha256:e9079d4e10d83af155dbe7a6194c5986febdffa52f0b613835a506f827aeb704
Status: Downloaded newer image for ******/drone-docker-buildx:latest
+ /usr/local/bin/dockerd --data-root /var/lib/docker --host=unix:///var/run/docker.sock
Detected registry credentials
+ /usr/local/bin/docker version
Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:42:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:46:14 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ /usr/local/bin/docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1)

Server:
WARNING: No swap limit support
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc io.containerd.runc.v2 io.containerd.runtime.v1.linux
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.15.0-143-generic
 Operating System: Alpine Linux v3.13 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 62.81GiB
 Name: 8b2cb593f01c
 ID: MUAC:JUIO:IPHW:VVIA:SHZ3:QCBW:5JSB:BHWR:I2RB:IKMK:FFAX:NH4M
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: ******
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

+ /usr/local/bin/docker buildx create --use
suspicious_fermi
+ /usr/local/bin/docker buildx ls
NAME/NODE           DRIVER/ENDPOINT             STATUS   PLATFORMS
suspicious_fermi *  docker-container
  suspicious_fermi0 unix:///var/run/docker.sock inactive
default             docker
  default           default                     running  linux/amd64, linux/386
+ /usr/local/bin/docker buildx build --rm=true -f buildx/Dockerfile buildx --push --pull=true --build-arg DOCKER_IMAGE_CREATED=2021-07-02T10:24:39Z --platform linux/arm64,linux/amd64 -t ******/multiarch-drone:foo -t ******/multiarch-drone:bar
#1 [internal] booting buildkit
#1 sha256:b6c5ed872d8558d7eb18c538c78dc445a2f1ee2a5f29388e01106df5af775f11
#1 pulling image moby/buildkit:buildx-stable-1
#1 pulling image moby/buildkit:buildx-stable-1 4.0s done
#1 creating container buildx_buildkit_suspicious_fermi0
#1 creating container buildx_buildkit_suspicious_fermi0 0.5s done
#1 DONE 4.6s

#2 [internal] load build definition from Dockerfile
#2 sha256:f73b0c974cef219c19ee76922c2cc934c1987a7d80b1c4567e987d319e3cdfae
#2 transferring dockerfile: 51B done
#2 DONE 0.0s

#3 [internal] load .dockerignore
#3 sha256:cb049af0da5cd5de2f899908da08962e352fa2f807427ed11331b64fa2f0220c
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [linux/amd64 internal] load metadata for docker.io/library/alpine:3
#4 sha256:1b81b8e0cb240d69aea10317b964ca403e3026583df1ee104e71fb8b9192dfe5
#4 ...

#6 [auth] library/alpine:pull token for registry-1.docker.io
#6 sha256:4ae51d0109da8a537bb713787207ffd8732b517205581560e1cf60a87e6cd4db
#6 DONE 0.0s

#5 [linux/arm64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#5 ...

#4 [linux/amd64 internal] load metadata for docker.io/library/alpine:3
#4 sha256:1b81b8e0cb240d69aea10317b964ca403e3026583df1ee104e71fb8b9192dfe5
#4 DONE 1.7s

#5 [linux/arm64 internal] load metadata for docker.io/library/alpine:3
#5 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#5 DONE 1.7s

#8 [linux/arm64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#8 sha256:ed2c270953b2750731b144e9c735f7fc32302891e45731e7c8e94a3afa2ffc8f
#8 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#8 DONE 0.0s

#7 [linux/amd64 1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#7 sha256:5deda93350bce5d963e186041c03b9fc9f03d8e5168a66519c6b7fc41675107e
#7 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#7 DONE 0.0s

#10 [auth] ******/multiarch-drone:pull,push token for registry-1.docker.io
#10 sha256:c10a7cd31d17d748b7dff3debcf4bd61dd48ade25155241199c7f21cc7806517
#10 DONE 0.0s

#9 exporting to image
#9 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#9 exporting layers done
#9 exporting manifest sha256:84f970a30e36f9b03f57e6510f25b9fa74229e2c377c8ee1a9e92c3aee63b69e done
#9 exporting config sha256:6729c91422712f0bc6801eabb83948c67126a7d5f19585a70586052216b17051 done
#9 exporting manifest sha256:c00627643b27aeec6fdcfce041f60a6cb36796250f966cff4575d32b4594639d done
#9 exporting config sha256:2b52538fc127808cb8cf80df47778b9cfc8bb367531c163a646d021cea92be35 done
#9 exporting manifest list sha256:c5248ddd8e0f84d7638f2aad8ce8c750d14dcdc75aafa0fe21a9cc037622f0c1 done
#9 pushing layers
#9 pushing layers 0.4s done
#9 pushing manifest for docker.io/******/multiarch-drone:foo
#9 pushing manifest for docker.io/******/multiarch-drone:foo 1.3s done
#9 pushing layers 0.2s done
#9 pushing manifest for docker.io/******/multiarch-drone:bar
#9 pushing manifest for docker.io/******/multiarch-drone:bar 1.0s done
#9 DONE 2.9s

Single platform (arm64) + dry run:
latest: Pulling from ******/drone-docker-buildx
Digest: sha256:e9079d4e10d83af155dbe7a6194c5986febdffa52f0b613835a506f827aeb704
Status: Image is up to date for ******/drone-docker-buildx:latest
+ /usr/local/bin/dockerd --data-root /var/lib/docker --host=unix:///var/run/docker.sock
Detected registry credentials
+ /usr/local/bin/docker version
Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:42:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:46:14 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ /usr/local/bin/docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.15.0-143-generic
 Operating System: Alpine Linux v3.13 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 62.81GiB
 Name: 524b0a101897
 ID: UK54:A6ZJ:G32E:VNKQ:ZDIZ:4VSE:FVCC:3K7Z:2DTY:WNLB:EFQ2:LYYN
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: ******
 Registry: https://index.docker.io/v1/
WARNING: No swap limit support
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

+ /usr/local/bin/docker buildx create --use
interesting_bhabha
+ /usr/local/bin/docker buildx ls
NAME/NODE             DRIVER/ENDPOINT             STATUS   PLATFORMS
interesting_bhabha *  docker-container
  interesting_bhabha0 unix:///var/run/docker.sock inactive
default               docker
  default             default                     running  linux/amd64, linux/386
+ /usr/local/bin/docker buildx build --rm=true -f buildx/Dockerfile buildx --pull=true --build-arg DOCKER_IMAGE_CREATED=2021-07-02T10:30:16Z --platform linux/arm64 -t ******/multiarch-drone:foo -t ******/multiarch-drone:bar
time="2021-07-02T10:30:16Z" level=warning msg="No output specified for docker-container driver. Build result will only remain in the build cache. To push result image into registry use --push or to load image into docker use --load"
#1 [internal] booting buildkit
#1 sha256:e261cdbe1bb06842ac54a6209b21c2d19847d0618e96e13c0136311a4443c394
#1 pulling image moby/buildkit:buildx-stable-1
#1 pulling image moby/buildkit:buildx-stable-1 4.0s done
#1 creating container buildx_buildkit_interesting_bhabha0
#1 creating container buildx_buildkit_interesting_bhabha0 0.7s done
#1 DONE 4.7s

#2 [internal] load build definition from Dockerfile
#2 sha256:a679f980737cac966623c5901caefef5bd087399b18c84a8d8f5e8d42932f4c1
#2 transferring dockerfile: 51B done
#2 DONE 0.0s

#3 [internal] load .dockerignore
#3 sha256:067b92e3dcef489e4ce215d2648ce3000d1419b64f6d8b41f4ece9d3dd13fe64
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [internal] load metadata for docker.io/library/alpine:3
#4 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#4 ...

#5 [auth] library/alpine:pull token for registry-1.docker.io
#5 sha256:3dcd7028d653f4d1e695406bf4a1e0cd14a54b40b3f3bffee3b8acad8d570465
#5 DONE 0.0s

#4 [internal] load metadata for docker.io/library/alpine:3
#4 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#4 DONE 1.4s

#6 [1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#6 sha256:ed2c270953b2750731b144e9c735f7fc32302891e45731e7c8e94a3afa2ffc8f
#6 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#6 DONE 0.0s

And with the push:
latest: Pulling from ******/drone-docker-buildx
Digest: sha256:e9079d4e10d83af155dbe7a6194c5986febdffa52f0b613835a506f827aeb704
Status: Image is up to date for ******/drone-docker-buildx:latest
+ /usr/local/bin/dockerd --data-root /var/lib/docker --host=unix:///var/run/docker.sock
Detected registry credentials
+ /usr/local/bin/docker version
Client:
 Version:           20.10.6
 API version:       1.41
 Go version:        go1.13.15
 Git commit:        370c289
 Built:             Fri Apr  9 22:42:10 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.6
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.15
  Git commit:       8728dd2
  Built:            Fri Apr  9 22:46:14 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.4.4
  GitCommit:        05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc:
  Version:          1.0.0-rc93
  GitCommit:        12644e614e25b05da6fd08a38ffa0cfe1903fdec
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
+ /usr/local/bin/docker info
Client:
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Build with BuildKit (Docker Inc., v0.5.1)

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 20.10.6
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
 runc version: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
 init version: de40ad0
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.15.0-143-generic
 Operating System: Alpine Linux v3.13 (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 62.81GiB
 Name: b144d719cece
 ID: E236:A3LN:SNJI:EFQO:YQOG:GYVW:BHMK:EEQ3:7LIN:SDLK:4TF2:MXI2
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Username: ******
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
WARNING: No swap limit support
 Live Restore Enabled: false
 Product License: Community Engine

+ /usr/local/bin/docker buildx create --use
intelligent_chatelet
+ /usr/local/bin/docker buildx ls
NAME/NODE               DRIVER/ENDPOINT             STATUS   PLATFORMS
intelligent_chatelet *  docker-container
  intelligent_chatelet0 unix:///var/run/docker.sock inactive
default                 docker
  default               default                     running  linux/amd64, linux/386
+ /usr/local/bin/docker buildx build --rm=true -f buildx/Dockerfile buildx --push --pull=true --build-arg DOCKER_IMAGE_CREATED=2021-07-02T10:32:09Z --platform linux/arm64 -t ******/multiarch-drone:foo -t ******/multiarch-drone:bar
#1 [internal] booting buildkit
#1 sha256:a361d0194c9b6c09779384628778587d411c230d09b829de4059e8d6682a1c0d
#1 pulling image moby/buildkit:buildx-stable-1
#1 pulling image moby/buildkit:buildx-stable-1 4.0s done
#1 creating container buildx_buildkit_intelligent_chatelet0
#1 creating container buildx_buildkit_intelligent_chatelet0 0.5s done
#1 DONE 4.4s

#2 [internal] load build definition from Dockerfile
#2 sha256:f1cbeb03f293b3990ed777909d0b192342e04686e3f5ee44240b5c8e00acf580
#2 transferring dockerfile: 29B
#2 transferring dockerfile: 51B done
#2 DONE 0.0s

#3 [internal] load .dockerignore
#3 sha256:3a822f3655117e601ddc79cc0df18ddf4fbad930355dbd873a029b852c2d40be
#3 transferring context: 2B done
#3 DONE 0.0s

#4 [internal] load metadata for docker.io/library/alpine:3
#4 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#4 ...

#5 [auth] library/alpine:pull token for registry-1.docker.io
#5 sha256:06b9c05f66e687c69781f304a329c724fca30cba8a06ddf18a6e3f915ad38010
#5 DONE 0.0s

#4 [internal] load metadata for docker.io/library/alpine:3
#4 sha256:465f2ae407e66c1d886aa1b086067ab5048eaf45b9ab7cc4de8f65195ebcc132
#4 DONE 1.4s

#6 [1/1] FROM docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0
#6 sha256:ed2c270953b2750731b144e9c735f7fc32302891e45731e7c8e94a3afa2ffc8f
#6 resolve docker.io/library/alpine:3@sha256:234cb88d3020898631af0ccbbcca9a66ae7306ecd30c9720690858c1b007d2a0 done
#6 DONE 0.0s

#7 exporting to image
#7 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#7 exporting layers done
#7 exporting manifest sha256:84f970a30e36f9b03f57e6510f25b9fa74229e2c377c8ee1a9e92c3aee63b69e done
#7 exporting config sha256:6729c91422712f0bc6801eabb83948c67126a7d5f19585a70586052216b17051
#7 ...

#8 [auth] ******/multiarch-drone:pull,push token for registry-1.docker.io
#8 sha256:39ebb1953fd82162a729c5ccaaf3a08862e9ae5b506029ee654d0dd60de275f9
#8 DONE 0.0s

#7 exporting to image
#7 sha256:e8c613e07b0b7ff33893b694f7759a10d42e180f2b4dc349fb57dc6b71dcab00
#7 exporting config sha256:6729c91422712f0bc6801eabb83948c67126a7d5f19585a70586052216b17051 done
#7 pushing layers
#7 pushing layers 0.4s done
#7 pushing manifest for docker.io/******/multiarch-drone:foo
#7 pushing manifest for docker.io/******/multiarch-drone:foo 0.3s done
#7 pushing layers 0.1s done
#7 pushing manifest for docker.io/******/multiarch-drone:bar
#7 pushing manifest for docker.io/******/multiarch-drone:bar 0.3s done
#7 DONE 1.1s

Thanks again!


Create new secret to store ipmi configuration files

Currently, ipmi agent uses compute agent's secret to load config files during deployment but ipmi agent only requires "hardware" pollster to be enabled to report metrics.
As compute and ipmi agents are deployed by different roles, segregating their config files into different secrets makes sense.
Similarly, on the compute nodes [1] takes care of storing config files into different directories.
[1] openstack-k8s-operators/edpm-ansible#793

/hold
code freeze currently enforced

/unhold

/lgtm

/test telemetry-operator-build-deploy-kuttl


Only one node per IP is able to connect to a p2p-enabled node

Hi, I activated p2p feature on a relay (loacal ip address <IP_ADDRESS>:4001) that serves 6 block producers running on three servers, 2 BPs per server.
P2P feature is not enabled on block producers, all block producers are listed in localRoots topology section of the p2p relay and the p2p relay is in the topology of all BPs.
I see that for each server only one block producer is connected to the p2p relay, while another not.
No error messages in the p2p relay log, here it's what I read in the error messages related to the p2p relay in the log file of the refused BP:
{"thread":"435","sev":"Error","data":{"kind":"WithIPList SubscriptionTrace","dests":"[<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4001,<IP_ADDRESS>:5001,<IP_ADDRESS>:5003,<IP_ADDRESS>:6001,<IP_ADDRESS>:5004,<IP_ADDRESS>:5005]","localAddresses":"LocalAddresses {laIpv4 = Just <IP_ADDRESS>:0, laIpv6 = Nothing, laUnix = Nothing}","event":"Application Exception: <IP_ADDRESS>:4001 ExceededTimeLimit (ChainSync (Header (HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) (': * (ShelleyBlock (AlonzoEra StandardCrypto)) ('[] *)))))))) (Tip HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) (': * (ShelleyBlock (AlonzoEra StandardCrypto)) ('[] *)))))))) (ServerAgency TokNext TokMustReply)"},"loc":null,"env":"1.32.1:e9de7","msg":"","app":[],"host":"ff01-pr0","at":"2021-12-20T06:01:37.58Z","ns":["cardano.node.IpSubscription"],"pid":"371509"}
{"thread":"435","sev":"Info","data":{"kind":"WithIPList SubscriptionTrace","dests":"[<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4001,<IP_ADDRESS>:5001,<IP_ADDRESS>:5003,<IP_ADDRESS>:6001,<IP_ADDRESS>:5004,<IP_ADDRESS>:5005]","localAddresses":"LocalAddresses {laIpv4 = Just <IP_ADDRESS>:0, laIpv6 = Nothing, laUnix = Nothing}","event":"Closed socket to <IP_ADDRESS>:4001"},"loc":null,"env":"1.32.1:e9de7","msg":"","app":[],"host":"ff01-pr0","at":"2021-12-20T06:01:37.58Z","ns":["cardano.node.IpSubscription"],"pid":"371509"}
{"thread":"425","sev":"Notice","data":{"address":"<IP_ADDRESS>:4001","kind":"ErrorPolicyTrace","event":"ErrorPolicySuspendConsumer (Just (ApplicationExceptionTrace ExceededTimeLimit (ChainSync (Header (HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) (': * (ShelleyBlock (AlonzoEra StandardCrypto)) ('[] *)))))))) (Tip HardForkBlock (': * ByronBlock (': * (ShelleyBlock (ShelleyEra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Allegra StandardCrypto)) (': * (ShelleyBlock (ShelleyMAEra 'Mary StandardCrypto)) (': * (ShelleyBlock (AlonzoEra StandardCrypto)) ('[] *)))))))) (ServerAgency TokNext TokMustReply))) 20s"},"loc":null,"env":"1.32.1:e9de7","msg":"","app":[],"host":"ff01-pr0","at":"2021-12-20T06:01:37.58Z","ns":["cardano.node.ErrorPolicy"],"pid":"371509"}
{"thread":"427","sev":"Info","data":{"kind":"WithIPList SubscriptionTrace","dests":"[<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4001,<IP_ADDRESS>:5001,<IP_ADDRESS>:5003,<IP_ADDRESS>:6001,<IP_ADDRESS>:5004,<IP_ADDRESS>:5005]","localAddresses":"LocalAddresses {laIpv4 = Just <IP_ADDRESS>:0, laIpv6 = Nothing, laUnix = Nothing}","event":"Restarting Subscription after<PHONE_NUMBER>86s desired valency 11 current valency 10"},"loc":null,"env":"1.32.1:e9de7","msg":"","app":[],"host":"ff01-pr0","at":"2021-12-20T06:01:38.58Z","ns":["cardano.node.IpSubscription"],"pid":"371509"}
{"thread":"427","sev":"Info","data":{"kind":"WithIPList SubscriptionTrace","dests":"[<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4002,<IP_ADDRESS>:4001,<IP_ADDRESS>:4001,<IP_ADDRESS>:5001,<IP_ADDRESS>:5003,<IP_ADDRESS>:6001,<IP_ADDRESS>:5004,<IP_ADDRESS>:5005]","localAddresses":"LocalAddresses {laIpv4 = Just <IP_ADDRESS>:0, laIpv6 = Nothing, laUnix = Nothing}","event":"Skipping peer <IP_ADDRESS>:4001"},"loc":null,"env":"1.32.1:e9de7","msg":"","app":[],"host":"ff01-pr0","at":"2021-12-20T06:01:38.58Z","ns":["cardano.node.IpSubscription"],"pid":"371509"}

Is it the expected behavior?
UPDATE 2021-12-21 4:44 UTC - Sooner or later all BP nodes lost the outgoing connection to the p2p relay. It seems that a non-p2p node cannot connect to a p2p-enabled node in a stable way.

It seems that the chain-sync terminated, because a timeout fired.   This can happen for both p2p and non-p2p nodes, it does not indicate the cause of the problem you observed.

UPDATE 2021-12-21 4:44 UTC - Sooner or later all BP nodes lost the outgoing connection to the p2p relay. It seems that a non-p2p node cannot connect to a p2p-enabled node in a stable way.

Could you run your p2p relay based on this branch.  We'd be grateful to hear if you still have this issue or not.

It seems that the chain-sync terminated, because a timeout fired. This can happen for both p2p and non-p2p nodes, it does not indicate the cause of the problem you observed.

UPDATE 2021-12-21 4:44 UTC - Sooner or later all BP nodes lost the outgoing connection to the p2p relay. It seems that a non-p2p node cannot connect to a p2p-enabled node in a stable way.

Could you run your p2p relay based on this branch. We'd be grateful to hear if you still observe this issue or not.

Hi Marcin, I confirm that after 2hrs run on 1.33.0 release the BP remains connected to the p2p relay

That's great, we fixed some bugs so it's not unexpected that it works now.  If you'll see it again, please open the issue.


Improve reliability of editor docs cache

This PR follows up on what #76288 did and also makes some extra improvements that the initial implementation failed to include.

Instead of the awkward whitelisting of classes used if the first attempt is not enough, the proper already existing filter is used for it; namely, ignoring API_TYPE_NONE. In the code, that is reflected as letting the inner doc generation exclude classes not belonging to either core or editor, in addition to the non-exposed ones. (Extension API types are not relevant at that point of execution.)
The hash used to determine if the cache is outdated is upgraded from being the Git commit hash to a concatenation of the core and editor API hashes, which is more robust. Since a single Godot session now will query those hashes at least twice (startup verbose prints, cache validity check and cache store), they are cached.

Thanks!


Modelcheckpoint, save submodels of complex one

Hi,
at the moment you have to write a custom callback if you want to save more complex models.
As an example the variational autoencoder (all the models share their layers):
Models:

encoder (Input to mean latent layer)
decoder (Latent to output)
encoder_sampled (Input to mean latent layer + random var)
var_auto_encoder = Model(input, decoder(encoder_sampled(input)))
auto_encoder =  Model(input, decoder(encoder(input)))

Now you can't easily save all models while training the var_auto_encoder.
How it might be solved:

Adding a callback that contains the filename of the saved model, which is called when the trained model is saved.
register sub-models with a filename and then call model.save (what I prefer)

What do you think about it?

@nuric Oh thank you, I was missing that by_name=True is quite smart as it loads the layers recursively. Didn't thought it would work as it complains without "by_name" that the numbers of layers don't match.
You are trying to load a weight file containing 2 layers into a model with 14 layers.
I was confused how to load 2 layers into 14 layers, but it also searches in those 2 layers for layers with given name :+1:
You saved me a lot of boilerplate code, thank you :)


kubernetes: 1.14.3 -> 1.15.3 (with revert of module systemd dependencies)

Motivation for this change

To get kubernetes bumped to v1.15 before 19.09 freeze.
To make the NixOS module work, be compatible with 1.15 and make current rbac and dns tests pass.

Note: This PR reverts changes introduced in #56789.
While I think it is a good idea to use systemd to sync startup of components, it has unfortunately introduced some problems in practice (e.g. #60687, #61135).
I actually have a branch here, on which I tried making the upgrade and tests work with the current module: https://github.com/johanot/nixpkgs/commits/kubernetes-1.15.2 .. Unfortunately, there are still race condition issues causing systemd restart-limits to be breached and Flannel vxlan connections be broken, among other things.
After spending a lot of time thinking about and working on the current implementation, considering the trade-offs, I ultimately think it's better to let eventual consistency rule and let components restart until the cluster is fully healthy. While it slows down startup time and causes more restarts, it reduces code complexity and untangles the systemd dependency web - the latter being invaluable in debugging situations.
@calbrecht I'm sorry I didn't state this argument explicitly before now. Are you ok with a revert at this time?
19.09 vs. 20.03
I know this PR might conflict with #66496. I just want to make sure that we get something working in 19.09. And then, when we hit October or something like that, let's discuss the real future for kubernetes in nixpkgs.
cc @offlinehacker @srhb
Things done
RBAC and DNS tests run clean locally.

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

I am in favor of this. I was also surprised with the difficulties in upgrading because of the systemd dependencies, even though I used to think they were a good idea. I guess we learned something.
And yes, a radical redesign of the k8s infrastructure before freeze is not really viable, but I agree with an extremely simplified module being the way forward afterwards.

@globin In lieu of @calbrecht's feedback, how do you feel about the module dependency reverts? I tried to catch you on -dev the other day to discuss it, but I have the feeling you're pretty busy :grin:
If no one voices any serious concerns about this, I'm inclined to merge.

Rebased to fix the pname conflict.

Yep I'm also in favor of doing this.  It will make startups more noisy for sure but at least it will work reliably. We can then slowly contemplate maybe introducing some of these ordering constraints again in some shape or another.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/kubernetes-the-nixos-module-of-the-future/3922/1

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/kubernetes-using-multiple-nodes-with-latest-unstable/3936/3

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/kubernetes-network-malfunction-after-upgrading-to-19-09/4620/1


PackerBuild fail when build_resource_group_name is defined

Required Information
Entering this information will route you directly to the right team and expedite traction.
Question, Bug, or Feature?
Type: Bug
Enter Task Name: PackerBuild
Environment

Server - Azure Pipelines or TFS on-premises?
Azure Pipelines

Agent - Hosted or Private:
Hosted

If using Hosted agent, provide agent queue name:
windows-latest

Issue Description
It is not possible for packer to specify a resource group to be used for image creation, but this is important for companies as no admin will give global permissions to the executing service principal.
in the default case the task creates a resource group with a random name. packer (.exe) offers to override this with the configuration parameter build_resource_group_name. but if this parameter is set in an azure pipeline an error occurs because the task sets a non-forced parameter by itself.

Specify either a location to create the resource group in or an existing build_resource_group_name, but not both.

- task: PackerBuild@1
  inputs:
    templateType: 'builtin'
    ConnectedServiceName: 'CBL Visual Studio Enterprise - MPN'
    isManagedImage: true
    managedImageName: 'BuildAgent'
    location: 'westeurope'
    storageAccountName: 'kvscblvmssscripts'
    azureResourceGroup: 'KvsCblVmssAgent'
    baseImageSource: 'default'
    baseImage: 'MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition:windows'
    packagePath: 'VmSetupScripts'
    deployScriptPath: 'vmss_ext.min.ps1'
    additionalBuilderParameters: '{"vm_size":"Standard_D4ads_v5","build_resource_group_name":"kvscbltempimagebuilder","shared_image_gallery_destination":{"subscription": "***","resource_group": "KvsCblVmssAgent","gallery_name": "kvscblsig01","image_name": "BuildAgent","image_version": "1.1.0","replication_regions": ["westeurope"],"storage_account_type": "Standard_LRS"}}'
    imageUri: 'PackerImageUrl'
    imageId: 'PackerResourceId'

Task logs
Starting: PackerBuild
==============================================================================
Task         : Build machine image
Description  : Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment
Version      : 1.208.0
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/packer-build
==============================================================================
Resolving deploy package path.
Resolved deploy package path: D:\a\1\s\VmSetupScripts.
Resolving deploy script path.
Resolved deploy script path: vmss_ext.min.ps1.
Parsing additional builder parameters json.
C:\ProgramData\Chocolatey\bin\packer.exe --version
1.8.4
Current installed packer version is 1.8.4.
Created staging directory for keeping packer binary and templates: D:\a\_temp\1671049768345.
Original template location: D:\a\_tasks\PackerBuild_845fd4f4-642d-4694-8514-047948a5a556\1.208.0\DefaultTemplates\default.managed.windows.template.json
Copying original template from D:\a\_tasks\PackerBuild_845fd4f4-642d-4694-8514-047948a5a556\1.208.0\DefaultTemplates\default.managed.windows.template.json to temporary location D:\a\_temp\1671049768345
Copied template file to a temporary location: D:\a\_temp\1671049768345
Running packer fix command
C:\ProgramData\Chocolatey\bin\packer.exe fix -validate=false D:\a\_temp\1671049768345\default.managed.windows.template-builderUpdated.json
{
  "builders": [
    {
      "build_resource_group_name": "kvscbltempimagebuilder",
      "client_id": "{{user `client_id`}}",
      "client_secret": "{{user `client_secret`}}",
      "communicator": "winrm",
      "image_offer": "{{user `image_offer`}}",
      "image_publisher": "{{user `image_publisher`}}",
      "image_sku": "{{user `image_sku`}}",
      "location": "{{user `location`}}",
      "managed_image_name": "{{user `managed_image_name`}}",
      "managed_image_resource_group_name": "{{user `resource_group`}}",
      "object_id": "{{user `object_id`}}",
      "os_type": "Windows",
      "shared_image_gallery_destination": {
        "gallery_name": "kvscblsig01",
        "image_name": "BuildAgent",
        "image_version": "1.1.0",
        "replication_regions": [
          "westeurope"
        ],
        "resource_group": "KvsCblVmssAgent",
        "storage_account_type": "Standard_LRS",
        "subscription": "2a4a7111-5e88-43cf-ac40-01760aa4f23a"
      },
      "subscription_id": "{{user `subscription_id`}}",
      "tenant_id": "{{user `tenant_id`}}",
      "type": "azure-arm",
      "vm_size": "Standard_D4ads_v5",
      "winrm_insecure": "true",
      "winrm_timeout": "15m",
      "winrm_use_ssl": "true",
      "winrm_username": "packer"
    }
  ],
  "provisioners": [
    {
      "inline": [
        "cmd /c \"if exist c:\\\\DeployTemp rd /s /q c:\\\\DeployTemp\"",
        "cmd /c \"mkdir c:\\\\DeployTemp\""
      ],
      "type": "windows-shell"
    },
    {
      "destination": "c:\\DeployTemp",
      "source": "{{user `package_path`}}",
      "type": "file"
    },
    {
      "inline": [
        "cd \"C:\\DeployTemp\"",
        "ls",
        "C:\\DeployTemp\\{{user `package_name`}}\\{{user `script_relative_path`}} {{user `script_arguments`}}"
      ],
      "type": "powershell"
    },
    {
      "inline": [
        "if( Test-Path $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml ){ rm $Env:SystemRoot\\windows\\system32\\Sysprep\\unattend.xml -Force}",
        "\u0026 $Env:SystemRoot\\System32\\Sysprep\\Sysprep.exe /oobe /generalize /quit /quiet"
      ],
      "type": "powershell"
    }
  ],
  "variables": {
    "capture_name_prefix": "",
    "client_id": "",
    "client_secret": "",
    "image_offer": "",
    "image_publisher": "",
    "image_sku": "",
    "location": "",
    "managed_image_name": "",
    "object_id": "",
    "package_name": "",
    "package_path": "",
    "resource_group": "",
    "script_arguments": "",
    "script_relative_path": "",
    "storage_account": "",
    "subscription_id": "",
    "tenant_id": ""
  }
}

Running packer validate command to ensure template is valid
C:\ProgramData\Chocolatey\bin\packer.exe validate -var-file=D:\a\_temp\mm95ec6p38r.json -var-file=D:\a\_temp\xsxyn9e9g3f.json D:\a\_temp\1671049768345\default.managed.windows.template-builderUpdated-fixed.json
Error: Failed to prepare build: "azure-arm"

1 error(s) occurred:

* Specify either a location to create the resource group in or an existing
build_resource_group_name, but not both.

##[error]Packer validate command failed. This could happen if task does not support packer version.
Finishing: PackerBuild

Troubleshooting
Checkout how to troubleshoot failures and collect debug logs: https://docs.microsoft.com/en-us/vsts/build-release/actions/troubleshooting
Error logs
* Specify either a location to create the resource group in or an existing build_resource_group_name, but not both.
##[error]Packer validate command failed. This could happen if task does not support packer version.

Any news/progress on this?

still not resolvend.


Remote Explorer refresh button  working randomly

Hi, Im experiencing a inconsistency with the refresh arrow at the remote explorer.
I prefer refreshing there then constantly syncing the local folder, but only after opening the Extension Page that the button works again.
Is there any workaround?

Same here. Only every fourth or so click on refresh does work.

It's not been working at all for me. I used the Delete context menu option on a file and it did not disappear from the SFTP Explorer. Clicking the refresh button doesn't seem to do anything. I've confirmed that the file was actually deleted, but the SFTP Explorer continues to show the file.

I've experienced the same issue. It appears to be much more than just 'random' -- for me it practically never works. Is there a way to force a refresh? This is rather important, I believe. Thanks in advance for any feedback.

It works fine for me, but you have to first select the folder you want to refresh and then click the button.


Remove bounds proliferation for gcd()

I would like to use gcd_vartime() in crypto-primes whose methods are generic on T: Integer. Right now it cannot be done without spelling out an explicit bound Odd<T>: PrecomputeInverter, which will be further propagated to the user code if it is generic as well. Is it possible to make it so that just T: Gcd<Output=T> is enough?
It is possible to have a default implementation of gcd()/gcd_vartime() for Integer, based on rem()/rem_vartime(), even though it will be significantly slower than the Bernstein-Yang one.
Edit: that is, possible for gcd_vartime() only. Nevertheless, ideally it should be enough to only have a bound on Gcd for the constant-time method.

Is it possible to make it so that just T: Gcd<Output=T> is enough?

That should definitely be the goal. Is the issue that it's not currently captured by the Gcd trait?

Tried it out, and #636 does make it so only the Gcd bound is required. Do you think it is worth adding gcd_vartime() to Integer (since it's a direct consequence of having rem_vartime()), or do you prefer to keep the Gcd trait separate?

It's currently implemented using Bernstein-Yang (I believe you said yourself Euclid with rem_vartime is slower, and not constant time with respect to any inputs), so I think it makes sense to leave on the Gcd trait.

Closing this then. Hopefully the Gcd bound is acceptable.


New Apollo Server + Typescript subgraphs

I've set these up as separate independent subgraphs, with all files required to run the subgraphs in each of the player and quiz folders. I've tested these subgraphs via Studio and all queries, mutations and subscriptions seems to be working as expected, but I still need to test things against the workshop React app. I'll have that done shortly, but please feel free to slice and dice anything here. Thanks!

Happy to help test this once it's deployed on Heroku @hwillson !

Just a quick update all - things are mostly working after testing with the React app, but I noticed some issues with the leaderboard that I'm working through now. I'll have another updates shortly. Thanks!

Going to merge so I can play around with this on Heroku temporarily @hwillson - but please push up those commits to fix the leaderboard when you're able to!!


Mod: #% increased Experience gain

There are two versions of this modifier. One present on certain unique maps, and another on unique items.
Searching Perandus Signet pulls up the wrong modifier.
https://www.pathofexile.com/trade/search/Harvest/k7ep5Qrs5
Rarity: Unique
Perandus Signet
Paua Ring
Item Level: 82
+24 to maximum Mana (implicit)
+26 to maximum Mana
47% increased Mana Regeneration Rate
2% increased Experience gain
2% increased Intelligence for each Unique Item Equipped
3% additional chance for Slain monsters to drop Scrolls of Wisdom
"Our warehouses are bursting. Our vaults are full.
But our minds are still hungry."

Medici Perandus, Prefect to the Treasury

This'll be fixed in release 0.7.4


The document only describes what the advantages of dynamic SQL are

[Most people who are looking for information about dynamic SQL already have a good idea of where it can be useful and might even know about it's limitations.  This document does not have any reasonable guides on how to implement dynamic SQL or even link to Microsoft's best practices at the minimum it should have covered using sp-executesql so people who come here avoid wrting code that's vulnerable to injection.  Itizik Ben Gaim goes into more detail that is actionable.  I am not expecting the article to go into all the details that can be found in Erland Sommarskog's article on Dynamic SQL but there shoud be something more detailed that follows Microsoft's conventions for features, data types, and methods in SQL.  I thik this topic is large enough to be discussed like BLOBs and other concepts.  This is the first place people will come to get information about implementing Dynamic SQL in SQL Server and Azure.  Unfortunately this is all there is.  It is also possible that I do not know how to search for this information but then maybe it should be linked to other Microsoft resources about writing dynamic SQL ]

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

ID: 8606c200-380e-6d26-379d-3d948f4a03b2
Version Independent ID: db53b0b2-7ee0-6f5b-fb76-48521d9c66e1
Content: Dynamic SQL - SQL Server
Content Source: docs/odbc/reference/dynamic-sql.md
Product: sql
Technology: connectivity
GitHub Login: @David-Engel
Microsoft Alias: v-daenge

@banjilawal -- Banji, thank you for your feedback.  Please consider these resources:

SQL Server on Microsoft Q&A
DBA Stack Exchange
Stack Overflow

@David-Engel -- David, please look into this issue.

I updated the title of the article to better reflect its purpose. It's just meant to talk about the performance impacts of building an ODBC application using dynamic SQL. I also linked to articles for EXECUTE and sp_executesql. I could not find a good/better MS doc for general guidance on dynamic SQL. There are lots of non-MS docs out there for users to discover, though.
#please-close


SSL on Private Network

Currently on the latest branch (https://github.com/Nexusoft/LLL-TAO/commit/f6ac9f4414c1428d4007cde0048a448990088be2)
SSL was configured and the node was working fine for the past 48 hours, however it is now not receiving any API requests outside of the terminal.
If the node is stopped and restarted, the issue is resolved, but then re-occurs again in the future (the timings between issues are random - sometimes the issue does not arise for several weeks, other times is re-occurs within a couple of days).
OS: Linux, Debian 9

It seems that most of the time as soon as an SSL Connection is accepted an Unknown Error Occurs, and then after a while a Peer then closes the connection. The pattern is the same for both ECDHE and TLS connections.
[04:59:59.033] Socket : SSL Handshake: Unknown Error Occurred
[04:59:59.179] Socket : SSL Connection Accepted ECDHE-RSA-AES128-GCM-SHA256
[06:56:54.018] Socket : SSL Handshake: Peer Closed Connection
[06:56:54.369] Socket : SSL Connection Accepted TLS_AES_128_GCM_SHA256
[06:57:12.896] Socket : SSL Handshake: Unknown Error Occurred

In the process of integrating MBed TLS under the merging-tls branch.


fw-5202, FPCC managed deployment set up

FPCC managed deployment set up for fv-apps using Terraform

@rohit-fpcc Please have a look at the security hotspots flagged by sonar (they seem ok to me as long as the aws config is solid). Otherwise, looks good to me! Thanks.


Added a website in competitive programming

website name: project euler
A great website have problems related to Maths

It's already there, under problem sets.


mysqld.go execCmd prints password to logs when password is in play

We've started using the FileCredentialsServer in vitess, and since doing so have noticed that certain operations use the mysql -p arg to pass a password, which prints a warning. Additionally, vitess prints the password to the logs, due to https://github.com/youtube/vitess/blob/master/go/vt/mysqlctl/mysqld.go#L695
Example with a manually redacted password:
I1205 20:36:31.299715   32480 mysqld.go:408] execCmd: /usr/bin/mysql /usr/bin/mysql [--batch -u vt_dba -S /opt/mysql/dbprod/test-q0.sock -pMANUALLY_REDACTED]
I1205 20:36:31.382281   32480 mysqld.go:422] execCmd: /usr/bin/mysql output: mysql: [Warning] Using a password on the command line interface can be insecure.

Would it be possible to pipe the shell in to stdin? Alternatively, can it be modified to accept a --defaults-file= argument, as defined here http://dev.mysql.com/doc/mysql-security-excerpt/5.7/en/password-security-user.html?

First part of the fix is in this PR: https://github.com/youtube/vitess/pull/2343
To not run mysql_upgrade with the dba password, but just with 'root' user.

Added the second part of the fix there: https://github.com/youtube/vitess/pull/2343
Now we write credentials to temporary file.

Thanks, looks great!

Merged the PR, fixed.


Upgrade some dependencies to build on FreeBSD

The later versions of local-ip-address work properly on FreeBSD, while the profiler Pryoscope relies on pprof crate which doesn't yet jive well with FreeBSD.
I still cannot get a clean build with cargo build since I believe a migration may be missing:
   Compiling rsa v0.7.2
error: failed to run custom build command for `arroyo-controller v0.1.0 (/usr/home/tyler/source/github/arroyosystems/arroyo/arroyo-controller)`

Caused by:
  process didn't exit successfully: `/usr/home/tyler/source/github/arroyosystems/arroyo/target/debug/build/arroyo-controller-395b4497a9e259ca/build-script-build` (exit status: 1)
  --- stdout
  cargo:rerun-if-changed=queries
  cargo:rerun-if-changed=../arroyo-api/migrations

  --- stderr
  Error: PrepareQueries(Db { msg: "relation \"job_configs\" does not exist", help: None, src: NamedSource { name: "queries/controller_queries.sql", source: "<redacted>", err_span: Some(SourceSpan { offset: SourceOffset(492), length: SourceOffset(0) }) })
warning: build failed, waiting for other jobs to finish...

Appreciate the contributions!
For the build error, did you run the migrations as described here: https://github.com/ArroyoSystems/arroyo/blob/master/README.md#postgres? By default, the SQL code generation stuff expects a database called arroyo with those migrations run. The database connection details can be overridden with these env vars:

DATABASE_NAME
DATABASE_HOST
DATABASE_USER
DATABASE_PASSWORD

Also would you mind rebasing on master? We previously weren't running CI on PRs for forks, but that should now be fixed.

refinery migrate -c docker/single/refinery.toml -p arroyo-api/migrations was needed, since there is no refinery.toml in the root directory as the README suggests. With the exception of some kafka specific tests, everything is otherwise looking good

The refinery.toml is created by running the refinery setup command, but I'll make that clearer in the docs. Thanks again!


Feature in A. P. Portion

Hi i would like to add one more formula for calculating A. P.  By knowing  last term instead of common difference

Feel free to ask your doubts, if any
Deadline 26 March,2021 (11:59 PM IST)

@sairish2001 Created a PR Have a look


Problems using SoftwareSerial as ESP8299 port

I'm running the example TCPClientSingleUNO it's straight forward, however when I complile with only the #defines needed to connect changed I get this.
TCPClientSingleUNO.ino:30:22: error: no matching function for call to 'ESP8266::ESP8266(SoftwareSerial&)'
ESP8266.h defines this.  Any ideas where the problem my lay?

In README.md, I have mentioned it.
Please read the section "Using SoftwareSerial" in README.md.


Adjust brightness of image

Is your feature request related to a problem?
I'd like to be able to adjust the brightness of an image.
Desired solution
Add a new method adjust_brightness to Image that takes one parameter factor and returns the adjusted image. The original should be left unchanged.
Regarding factor:

A factor in (1, inf) should brighten the image
A factor in [0, 1) should darken the image (0 turns the image completely black)
A factor of 1 should keep the image unchanged

Because of this:

Raise an error if the factor is < 0.
Warn if the factor is equal to 1.

Possible alternatives (optional)
No response
Screenshots (optional)
No response
Additional Context (optional)
No response

:tada: This issue has been resolved in version 0.14.0 :tada:
The release is available on:

v0.14.0
GitHub release

Your semantic-release bot :package::rocket:


ENH: optimize.least_squares: Add user-defined output function outfun

Add an optional argument outfun to optimize.least_squares. If outfun is a Callable, it will get called by the optimization algorithm on each iteration. If the Callable returns True, this causes the algorithm to stop at the current iteration with status code -2. If it returns False, optimization proceeds as usual. This can be used to plot the intermediate optimization results or to implement a user-defined stop condition. By default outfun is None, which provides backward compatibility (if no outfun is passed, least_squares behavior remains unchanged)

Reference issue
None
What does this implement/fix?
Added new optional argument outfun to optimize.least_squares
Additional information
Added test test_outfun in test_least_squares.py, all tests passing locally

Thank you @vpecanins for this contribution. For a change like this we ask that it first be proposed on the scipy discussion forum, https://discuss.scientific-python.org/c/contributor/scipy/32. That way larger changes can be sounded out before investing time and effort into code.
Elsewhere in scipy.optimize we have callbacks, see the callback keyword of https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html#scipy.optimize.minimize. So I can see why this might be useful for least_squares. If we were to add this kind of functionality we would want to have exactly the same behaviour, which would require alterations to this PR.
I think the major hurdle in this PR getting accepted is that it currently only deals with the dogbox and trf methods, and doesn't cover the lm method, which was recently translated to C by @ilayn. Adding a callback to the C-code might be complex. @ilayn could chip in on that.
In the meantime I suggest raising your proposed change in the forum.


Change plugin DSL?

It might be better to do plugins more like cinch does rather then what I'm doing right now with blocks, for reasons like returns not working in blocks, etc. Spilled too much sugar.

After consideration, I'm pretty sure I'd like to go more the direction that cinch did and start using methods and just use match /regex/, method: :method_name. Blocks sounded cool at first but now it's more of a hindrance.


Disabling smooth lighting causes some create blocks to render poorly

Likley relatted to #264 mods we added, need to see which ones and what we can do about it

@beamnarak6404 do you know which mod could cause this btw?


Support for Android

Hi, I am trying to build fastembed for Android through cross compilation
But I am getting error:
Error fail to run custom build comment for ort-sys v2. 0.0-rc.0

Just wanted to know if fastembed is supported for Android, as ort-sys build is failing
Command used for cross compilation
cargo-ndk --target aarch64-linux-android --platform 21 -- build

Do you mean, I need to clone onnxruntime code from Microsoft and then build from source for Android
However I tried to get directly .so files for Android and linked statically, but that didn't work out

Do you mean, I need to clone onnxruntime code from Microsoft and then build from source for Android

Yes.
.so files are dynamic libraries. If you want to statically link instead, you'll need to do a build without --build_shared_lib.

I am currently using the command mentioned in this page https://onnxruntime.ai/docs/build/android.html
./build.sh --android --android_sdk_path <android sdk path> --android_ndk_path <android ndk path> --android_abi <android abi, e.g., arm64-v8a (default) or armeabi-v7a> --android_api <android api level, e.g., 27 (default)>

Where should the flag you have mentioned about, are you referring to same command

I generated shared libraries from onnxruntime and , I followed the guide you shared https://ort.pyke.io/setup/linking#linking-to-a-custom-build-of-onnx-runtime, but now I am getting error at
Error: failed to run custom build command for ort-sys v2. 0.0-alpha.4
Caused by :
Process didn't exit successfully

-----stdout
Cargo:rerun -if-env-changed =ORT_LIB_LOCATION
cargo: rerun -if-env-changed=ORT_LIB_PROFILE

Yep, that build command looks fine.
Could you provide the full logs for the cargo build?

Actually, one doubt here, after building source code for onnxruntime, It generated multiple . So and . A files not sure which files to link for ORT_DY_LIB as mentioned in the above documentation

If you want to statically link, set ORT_LIB_LOCATION to the directory containing the .a files.
If you want to dynamically link, set ORT_DYLIB_PATH to the path of the libonnxruntime.so file.

But all the files .a and .so are in same directory and there is no libonnxruntime.so file being generated

Hi, actually I need to integrate my rust project as a shared library (.so) into Android app, do you think static linking of onnxruntime binary works

Yes, either would work.
If you want to generate libonnxruntime.so, then build ONNX Runtime with --build_shared_lib. If you want to statically link, then just point ORT_LIB_LOCATION to the build directory.

Thanks, the library is built using the suggested flag


ffplay syntax doesn't work

What exactly should I put in the ffplay command?
▶ ./v380 -u device2 -p password2 -port 8800 -ip <IP_ADDRESS> | ffplay -vf \"setpts = N / (25 * TB)\" -i -
zsh: no matches found: (25 * TB)"
Camera address not set

I hope you already solved this.
ffplay -i - should sufficent, where:

-i input
- extra dash at end = read input from stdin


Unifying a structure of variables with a structured function name is not disabled

What is your problem?
Unifying a structure of variables with a structured function name is not disabled by the absence of variable_operation.
How to reproduce your problem?
Run the following code
(= ((W $x) $y) (($x $y) $y))
!(($x $y) $y)

What would you normally expect?
It should end with the output
[(($x $y) $y)]

What do you get instead?
It gets trapped in an infinite recursion.
What else do you have to say?
My assumption is that the absence of variable_operation should cover that case.  If not then I need another solution, maybe involving Minimal MeTTa or inference control.  To give more context I'm trying to emulate combinatory logic, W is an actual combinator.
The problems occurs in both old and Minimal MeTTa.

Any progress on that?  It is somewhat of a blocker.

I raised #668 with the fix which prevents from evaluation any expression which has a variable on the first position of the nested expression on the first position. Despite the PR fixes this specific scenario I would say the overall semantics of the evaluation is not clear.
@ngeiswei could you please point to the specific code in https://github.com/trueagi-io/hyperon-pln/pull/44 which is blocked by this issue? I would like to understand which semantics do you need.

@ngeiswei does the following type definition suits your needs and fixes the example?
(: λ (-> Variable Atom Atom))

I've tried the following

No type definition of λ

(= ((λ $x $f) $y) (let ($νx $νf) (sealed ($x) ($x $f)) (let $νx $y $νf)))
!((λ $n (λ $f (λ $x ($f (($n $f) $x))))) (λ $f (λ $x $x)))

outputs
[(λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x))), (λ $f (λ $x ($f $x)))]

which is correct because ((λ $n (λ $f (λ $x ($f (($n $f) $x))))) (λ $f (λ $x $x))) represents the successor of 0, which is 1, encoded by (λ $f (λ $x ($f $x))).  It's just that it is duplicated 8 times.

Type definition of λ with Atom

(: λ (-> Variable Atom Atom))
(= ((λ $x $f) $y) (let ($νx $νf) (sealed ($x) ($x $f)) (let $νx $y $νf)))
!((λ $n (λ $f (λ $x ($f (($n $f) $x))))) (λ $f (λ $x $x)))

outputs
[(λ $f (λ $x ($f (((λ $f (λ $x $x)) $f) $x))))]

which is incorrect likely because ((λ $f (λ $x $x)) $f) never gets to be reduced due to the type signature of λ.

Type definition of λ with type variable

(: λ (-> Variable $a $a))
(= ((λ $x $f) $y) (let ($νx $νf) (sealed ($x) ($x $f)) (let $νx $y $νf)))
!((λ $n (λ $f (λ $x ($f (($n $f) $x))))) (λ $f (λ $x $x)))

outputs
[(λ $f (λ $x ($f (Error (((λ $f (λ $x $x)) $f) $x) "Too many arguments")))), (λ $f (λ $x ($f (Error (((λ $f (λ $x $x)) $f) $x) "Too many arguments")))), (λ $f (λ $x ($f (Error (((λ $f (λ $x $x)) $f) $x) "Too many arguments")))), (λ $f (λ $x ($f (Error (((λ $f (λ $x $x)) $f) $x) "Too many arguments"))))]

which looks like a bug.

Type signature in this case should be different I believe. These three options work, but they mean that second argument is evaluated before calculating lambda and this prevents constructing lambda in cl2lc function you wrote:
(: λ (-> Variable $a (-> $b $t)))
;(: λ (-> Variable $a %Undefined%))
;(: λ (-> Variable %Undefined% (-> $b $t)))

We can write a version of cl2lc which returns a correct result even when lambda type is %Undefined%. But issue is that when this result is returned it is evaluated further and when it has expressions like (($f $x) ($g $x)) inside (as in ((λ $f (λ $g (λ $x (($f $x) ($g $x))))) (λ $x#1 (λ $y#1 (λ $z#1 ($x#1 ($y#1 $z#1))))))) it will be incorrectly evaluated.
Adding Atom into a lambda signature prevents sub-expressions from evaluations when it is needed. Actually I don't see why (: λ (-> Variable Atom (-> $a $t)))) doesn't work in practice. Will look at it.

@ngeiswei, should we close this after https://github.com/trueagi-io/hyperon-experimental/pull/668 is merged?
I believe more strategic solution is discussed in https://github.com/trueagi-io/hyperon-experimental/issues/674

Also it is discussed in https://github.com/trueagi-io/hyperon-experimental/issues/242

I don't know but the initial test
(= ((W $x) $y) (($x $y) $y))
!(($x $y) $y)

passes for me, so as far I am concerned it can be closed.


Please invite me to the Recode-Hive GitHub Community Organization

Name
Gayatri Maruti Mohite
Discord Username (if applicable)
gayatri | Contributor
Additional Context

Showcase your skills and contributions to potential employers.
Develop a strong GitHub profile.
Demonstrate ability to work collaboratively.
Encourages members to share ideas, help each other, and make improvements.
Network with like-minded individuals.

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


not support ntext ?

mybatis 3 not support data type ntext?

If you tried to use ntext and had some problem, please post some code/settings/information for us to reproduce the problem.
If this is just a question, please use the mailing list.
We use GitHub Issues only to track bugs and feature requests.
You might want to check #482 as a possibly related issue.


[WIP][SAC-271][CORE] Use official Spark model json file in Apache Atlas to register Spark models

What changes were proposed in this pull request?
This patch proposes using official Spark model json file in Apache Atlas (https://github.com/apache/atlas/commit/fce87e338ad3d7a9425f41c09f73968308e8ce83) to replace the model registration in SAC codebase.
This patch removes all relevant codes to ensure we no longer support registration in SAC codebase (as it could bring out of sync with official Spark model json), whereas add the json model file with guiding how to register models with the file.
How was this patch tested?
Existing UTs.
FIXME: WIP - as I've discovered issue with Atlas 2.0.0 which is related to models. I have a simple workaround, but requires small change of model, so communicating with Atlas team to resolve this.
After resolving the issue, manually tests will follow. Manual tests with Kafka worked.

cc. @aadarshjajodia @sarathsubramanian FYI. Please see my comment.

Pending model change in Atlas side and here as well.
https://issues.apache.org/jira/browse/ATLAS-3314
https://github.com/apache/atlas/pull/64

The proposal on Spark model change is accepted, and reflected. Let me update the model here.

This is ready to be reviewed. @ankuriitg Please take a look when you have time. Thanks in advance!

That's the plan. I have no idea to keep in sync between SAC's own model definition and Atlas's one, and the message from Atlas team is clear that json model is the way to go, so not sure there's clear value to keep the API registration. We will just rely on Atlas's one anyway once they release new Atlas version.
Does it make sense to you?

(I admit I'm not 100% sure current models by API is 100% compatible with models in Atlas. Model registration API is not the area I'm familiar with (touched couple of times but not an expert), and once we move to json model I'm not sure I still need to be expert on that.)

Thanks for the detailed review! Always appreciated on detailed reviews for text-content.


[C++] Update bundled ABSL and GRPC

Describe the enhancement requested
We are currently using an ABSL version from 2021:
https://github.com/apache/arrow/blob/5a042fc4a00cf832d3ce4fd92712af38122a3456/cpp/thirdparty/versions.txt#L26-L27
And a GRPC from 2022 (https://github.com/grpc/grpc/releases/tag/v1.46.2):
https://github.com/apache/arrow/blob/5a042fc4a00cf832d3ce4fd92712af38122a3456/cpp/thirdparty/versions.txt#L77-L78
We should update those dependencies.
Component(s)
C++

I have a PR I dropped to do this, the target tree changed which makes this annoying IIRC #37066

Hm I guess I never pushed the changes, as the PR is just the changed versions.txt

Do you recall why did you drop the issue? I can't see logs for what was going on that PR. I am trying to figure out the current failure which seems to be a common one as per https://github.com/apache/arrow/pull/45064#issuecomment-2551185782 , basically solving:
/build/cpp/grpc_ep-prefix/src/grpc_ep/include/grpcpp/impl/codegen/config_protobuf.h:81:10: fatal error: absl/status/status.h: No such file or directory
   81 | #include "absl/status/status.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~


Hidden onfocus side-effect may interfere with other code

We had this case come up in a project we were working on. We were using window.onfocus to track when our app was focused or not, but then we added react-dropzone to the application and noticed that this code was no longer working. Apparently (at least on Chrome), document.body.onfocus and window.onfocus are the same callback. So, the componentDidMount code was overriding our onfocus function.
This was most likely introduced my this change: https://github.com/okonet/react-dropzone/commit/c2b3b16e2f606ceec30b26be934ad5a1d532dc0f#diff-1fdf421c05c1140f6d71444ea2b27638R30
And I can see why this change was made. But wouldn't the following work just as well?
  componentDidMount() {
    this.enterCounter = 0;
    window.addEventListener('focus', this.onFileDialogCancel, true);
  }

  componentWillUnmount() {
    window.removeEventListener('focus', this.onFileDialogCancel);
  }

The reason I ask instead of making a PR directly is that you might have some insight as to the problems this causes that I may not be aware of.
Thanks!

I would assume it should work but the author of the PR mentioned it doesn't. So you can try and file the PR. I'd also like to see addEventListener there.

I think the problem is the focus event doesn't actually work on document.body consistently. It is a special global event that should be attached to the window.
IE supports focus on almost every element, while FF and Chrome only support it for form elements and the window.
I'll submit a PR when I get a chance to verify that it actually works.

@imontiel any news on this one?

@okonet have the issue been solved?


samples not compiling

Hi i tried to compile the sample. its previous version a week back was working as i updated.
to version x.x.15 i got following errors.

AUTH_CONFIG ,OAuthStorage not found in angular-oauth2-oidc
i tried to link the library but it gives me other error
i am using three hours back updated sample.
will wait for your reply
thanks,

thanks for pointing me to this. Should work now.

Thanks , It`s a nice work and i appreciate your response


Remove Helm hooks annotations from core policies

Towards: https://github.com/giantswarm/giantswarm/issues/30018
This PR removes the Helm Hooks annotations from the core policies. This will need to be released after #412

This will also need to be in a separate bundle release. And officially, the version containing #412 can't be skipped now

Yep, we need to make sure that vintage releases are using an updated bundle version.

We probably now can do this for v30+

Not sure if we should just remove the annotations or modify the helper to not include the hooks label.


keywords (modifiers and literals)

modifiers (<mod>):
fn

cmd
lcmd
rcmd

shift
lshift
rshift

alt
lalt
ralt

ctrl
lctrl
rctrl

hyper (cmd + shift + alt + ctrl)

meh (shift + alt + ctrl)

key literals:
"return"     (kVK_Return)
"tab"        (kVK_Tab)
"space"      (kVK_Space)
"backspace"  (kVK_Delete)
"escape"     (kVK_Escape)

The following keys can not be used with the fn-modifier:

"delete"     (kVK_ForwardDelete)
"home"       (kVK_Home)
"end"        (kVK_End)
"pageup"     (kVK_PageUp)
"pagedown"   (kVK_PageDown)
"insert"     (kVK_Help)
"left"       (kVK_LeftArrow)
"right"      (kVK_RightArrow)
"up"         (kVK_UpArrow)
"down"       (kVK_DownArrow)
"f1"         (kVK_F1)
"f2"         (kVK_F2)
"f3"         (kVK_F3)
"f4"         (kVK_F4)
"f5"         (kVK_F5)
"f6"         (kVK_F6)
"f7"         (kVK_F7)
"f8"         (kVK_F8)
"f9"         (kVK_F9)
"f10"        (kVK_F10)
"f11"        (kVK_F11)
"f12"        (kVK_F12)
"f13"        (kVK_F13)
"f14"        (kVK_F14)
"f15"        (kVK_F15)
"f16"        (kVK_F16)
"f17"        (kVK_F17)
"f18"        (kVK_F18)
"f19"        (kVK_F19)
"f20"        (kVK_F20)

"sound_up"          (NX_KEYTYPE_SOUND_UP)
"sound_down"        (NX_KEYTYPE_SOUND_DOWN)
"mute"              (NX_KEYTYPE_MUTE)
"play"              (NX_KEYTYPE_PLAY)
"previous"          (NX_KEYTYPE_PREVIOUS)
"next"              (NX_KEYTYPE_NEXT)
"rewind"            (NX_KEYTYPE_REWIND)
"fast"              (NX_KEYTYPE_FAST)
"brightness_up"     (NX_KEYTYPE_BRIGHTNESS_UP)
"brightness_down"   (NX_KEYTYPE_BRIGHTNESS_DOWN)
"illumination_up"   (NX_KEYTYPE_ILLUMINATION_UP)
"illumination_down" (NX_KEYTYPE_ILLUMINATION_DOWN)

keycodes:

OR
Launch skhd in observer mode: skhd --observe or skhd -o. Press ctrl+c to quit.

Consider looking at cliclick as well.

Is there any support for keys like '=' or '`' ?

No idea, I've never tried to map those.
You can always map the key using its keycode though. '=' is 0x1D on my keyboard. You can find this in the pictures above, or by using https://github.com/koekeishiya/cev or a similar tool.

@koekeishiya How do you use keycodes with skhd?

@Njiallu: '`' (~) is 0x32 on my keyboard, and
cmd - 0x32: ...

works :)

For me, rshift does not work but shift does. Any clues? I am having wrist pain from using fn all the time.

@FranzSkuffka These all work for me. Note that the order you define your binds in matters: if you define shift - x before rshift -  x, the latter one will never trigger.
# shift - x : terminal-notifier -message "shift - x"
lshift - x : terminal-notifier -message "lshift - x"
rshift - x : terminal-notifier -message "rshift - x"

If you have a specific question, you should file a separate issue and add your skhdrc file.

I can't seem to bind period . and comma ,:
alt - 0x2b : yabai -m window --focus north
alt - 0x2f : yabai -m window --focus east

This actually corrupts alt+0-9

I can't seem to bind period . and comma ,:
alt - 0x2b : yabai -m window --focus north
alt - 0x2f : yabai -m window --focus east

This actually corrupts alt+0-9

Try writing it in capital case, i.e. 0x2B instead of 0x2b.

I try to play/pause media with the f8-key (not the "picture-key") but unfortunately it doesn't work with media key trigger below.
f8 : skhd --key "play"

Thanks for the documentation! Can you pin this issue so it's easier to find?
https://docs.github.com/en/github/managing-your-work-on-github/pinning-an-issue-to-your-repository

For reference to someone having had my same issue, when assigning the fn key to Control in System Preferences -> Keyboard, pressing fn will issue a rctrl despite the location on the keyboard.

if f is held treat hjkl as arrow keys.

I have this setup, works great:
# Arrow Keys
fn - h : skhd -k "left"
fn - j : skhd -k "down"
fn - k : skhd -k "up"
fn - l : skhd -k "right"

I'm trying to map ctrl - insert/del/home/end/pgup/pgdw and it's not working. For example `ctrl - 0x75' does nothing. Any clues? Thanks.

I can't seem to bind period . and comma ,:
alt - 0x2b : yabai -m window --focus north
alt - 0x2f : yabai -m window --focus east

This actually corrupts alt+0-9

Try writing it in capital case, i.e. 0x2B instead of 0x2b.

what if it doesn't have any alphabets ?

yup, very needed functionality

if f is held treat hjkl as arrow keys.

I have this setup, works great:
# Arrow Keys
fn - h : skhd -k "left"
fn - j : skhd -k "down"
fn - k : skhd -k "up"
fn - l : skhd -k "right"

If you are a Linux user, I would suggest this
# Arrow Keys
ctrl - b : skhd -k "left"
ctrl - n : skhd -k "down"
ctrl - p : skhd -k "up"
ctrl - f : skhd -k "right"

Is there wa way to define Chords? Such as in VSCode, Command-K exposes a new set of key bindings, and in tmux, control-B will do the same. Can we do this in skhd?

There's a support for that with "modes". I have this example in my rcfile, who knows from where now..
# add an on_enter command to the default mode
:: default : yabai -m config active_window_border_color 0xaa33bbaa
#
# defines a new mode 'test' with an on_enter command, that captures keypresses
:: test @ : yabai -m config active_window_border_color 0xff24ccaa
#
# from 'default' mode, activate mode 'test'
cmd - x ; test
#
# from 'test' mode, activate mode 'default'
test < cmd - x ; default
#
# launch a new terminal instance when in either 'default' or 'test' mode
default, test < cmd - return : open -na /Applications/Terminal.app

anyone know how to map the backtick key?

anyone know how to map the backtick key?

try 0x32

anyone know how to map the backtick key?

try 0x32

thanks!  got it working.  👍

Hi,
I use a keyboard on Mac with the Globe key. Any idea on how to use it with SKHD ? I tried the skhd -o to get the key press associated without any result.

I do get keycode: 0x3F   flags:<PHONE_NUMBER>0000000000000100000000  when i hold the globe key, i’ll try mapping it later.

Trying to map tab key, any ideas?
alt + TAB - h  : yabai -m window --display recent; yabai -m display --focus recent
I tried to use "0x30" from keycode image and  "0x30001" from observer.

anyone know how to map the backtick key?

try 0x32

This pegs the shortcut to a specific physical key position and only works if the user does not change keyboard layout.

Trying to map tab key, any ideas?
alt + TAB - h : yabai -m window --display recent; yabai -m display --focus recent
I tried to use "0x30" from keycode image and "0x30001" from observer.

For tab, it's just tab, i.e., lowercase.

I do get keycode: 0x3F flags:<PHONE_NUMBER>0000000000000100000000  when i hold the globe key, i’ll try mapping it later.

Were you successful? I'm trying to bind the emoji-menu (globe+e) to a shortcut, but can't get it to work.

As I constantly switch between Mac and Linux and have a regular "Windows" style keyboard I wanted to remap the Windows Switch from cmd tab to lalt tab.
I tried several variations but non works.
I have
# alt tab remapping
lalt - tab: skhd -k "ctrl - tab"

for a brief test I replaced it with
# alt tab remapping
lalt - tab: skhd -k "ctrl - x"

which nicely prints a x whenever I press option+tab.
What's the correct pattern to submit an lalt+tab event?
Thanks! And thanks for that great tool. I couldn't get Karabiner Elements to work due to limitations of my company.

if f is held treat hjkl as arrow keys.

I have this setup, works great:
# Arrow Keys
fn - h : skhd -k "left"
fn - j : skhd -k "down"
fn - k : skhd -k "up"
fn - l : skhd -k "right"

Thank you very much!!!!!

@hellomyzn @Zdmai Hi, can you feel the delay of the simulated keypress?

@hellomyzn @Zdmai Hi, can you feel the delay of the simulated keypress?

yeah!!! compare to karabiner

How can I defined multiple letter keys to perform an action? For instance, only perform an action if lctrl + D + H is pressed?

I'm trying to map ctrl - insert/del/home/end/pgup/pgdw and it's not working. For example ctrl - 0x75 does nothing. Any clues? Thanks.
Edit: the literals delete and pagedown work, but home and end do not...

Exactly the same for me.

I discovered a nifty trick, which is maybe not intended to be like that but can be quite useful:
fn works as mod as well as key if you use the 0xB3 instead the literal
If you then set capslock to fn in macOS settings you can then have use capslock as escape key as well as a modifier.
e.g.:
0xB3 : skhd -k escape
lcmd - 0xB3 ; tiling
fn - c :    echo "hello capslock"

btw binding fn - n is not recommendable since its invoking the notification center, I found out recently …


Quickstart

Fixing some tests and specs
Updating livebook notebooks

I've updated version to 0.13 as a following of idea that minor of this library should match minor of tokenizers for simplicity.

If all good - it seems that the version can be released.

@josevalim Done.


RawRepresentable conditional conformance to NSPrimitiveAttributeCoder isn't actually there.

https://github.com/vmanot/SwiftDB/blob/87174a75b2be569a30321e4da095b1dbb10c3695/Sources/Intermodular/Helpers/CoreData/NSPrimitiveAttributeCoder.swift#L73
You did all the preparation for it, but you forgot that actual ": NSPrimitiveAttributeCoder" part.

@CTMacUser it's not possible to add protocol conformances to protocols. The original protocol (in this case, RawRepresentable) must already refine it, it cannot be added outside the declaring module. This simply ensures that if the client adds NSPrimitiveAttributeCoder to their enum/raw-representable, NSPrimitiveAttributeCoder's methods are implemented.


change mandatory values

it depends on this issue: https://github.com/openreview/openreview-api/pull/298

it depends on https://github.com/openreview/openreview-web/pull/1715


Add sleeps to ES tests to wait for reindex

Adds the test improvement discovered when working on #2118

Coverage decreased (-0.01%) to 76.295% when pulling 6d8914bfb501ba9221f232c9ce04d3545e4bece1 on feature/es_test_fixes into 4da6843312d1294b4ca6153308edf4cbd4a21636 on develop.