Browse Source

Merge branch 'dev' into dev-low-bandwidth

Joseph Henry 2 years ago
parent
commit
4100615cd6

+ 11 - 63
.drone.jsonnet

@@ -1,50 +1,7 @@
+local registry = "084037375216.dkr.ecr.us-east-2.amazonaws.com";
 
 
 local targets = [
 local targets = [
-      //
-      // Render these into .drone.yaml by running "make drone"
-      //
-      { "os": "linux", "name": "el9", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "el8", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "el7", "isas": [ "amd64", "ppc64le"], "events": [ "tag" ] },
-      { "os": "linux", "name": "el6", "isas": [ "amd64" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "amzn2", "isas": [ "amd64", "arm64" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc37", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc36", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc35", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "jammy", "isas": [ "amd64", "arm64", "armv7", "riscv64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "focal", "isas": [ "amd64", "arm64", "armv7", "riscv64", "ppc64le"  ], "events": [ "tag" ] },
-      { "os": "linux", "name": "bionic", "isas": [ "amd64", "arm64", "386", "ppc64le", "s390x" ], "events": ["tag" ] },
-      { "os": "linux", "name": "xenial", "isas": [ "amd64", "arm64", "386" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "sid", "isas": [ "386", "amd64", "arm64",  "riscv64", "mips64le", "ppc64le", "s390x" ], "events":   [ "push", "tag" ] },
-      { "os": "linux", "name": "bookworm", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "bullseye", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "buster", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "stretch", "isas": [ "amd64", "arm64", "386" ], "events": [ "tag" ] },
-      // { "os": "windows", "name": "win2k19", "isas": [ "amd64" ], "events": ["push", "tag" ] }
-];
-
-local master_targets = [
-      //
-      // Render these into .drone.yaml by running "make drone"
-      //      
-      { "os": "linux", "name": "el9", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "el8", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "el7", "isas": [ "amd64", "ppc64le"], "events": [ "tag" ] },
-      { "os": "linux", "name": "el6", "isas": [ "amd64" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "amzn2", "isas": [ "amd64", "arm64" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc37", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc36", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "fc35", "isas": [ "amd64", "arm64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "jammy", "isas": [ "amd64", "arm64", "armv7", "riscv64", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "focal", "isas": [ "amd64", "arm64", "armv7", "riscv64", "ppc64le"  ], "events": [ "tag" ] },
-      { "os": "linux", "name": "bionic", "isas": [ "amd64", "arm64", "386", "ppc64le", "s390x" ], "events": ["tag" ] },
-      { "os": "linux", "name": "xenial", "isas": [ "amd64", "arm64", "386" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "sid", "isas": [ "386", "amd64", "arm64",  "riscv64", "mips64le", "ppc64le", "s390x" ], "events": [ "push", "tag" ] },
-      { "os": "linux", "name": "bookworm", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "bullseye", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "buster", "isas": [ "amd64", "arm64", "armv7", "386", "mips64le", "ppc64le", "s390x" ], "events": [ "tag" ] },
-      { "os": "linux", "name": "stretch", "isas": [ "amd64", "arm64", "386" ], "events": [ "tag" ] },
-      // { "os": "windows", "name": "win2k19", "isas": [ "amd64" ], "events": ["push", "tag" ] }
+      { "os": "linux",   "name": "sid", "isas": [ "386", "armv7", "amd64", "arm64", "mips64le", "ppc64le", "s390x", "riscv64" ], "events": [ "push", "tag", "custom" ] },
 ];
 ];
 
 
 local Build(platform, os, isa, events) = {
 local Build(platform, os, isa, events) = {
@@ -56,27 +13,18 @@ local Build(platform, os, isa, events) = {
   "steps": [
   "steps": [
     {
     {
       "name": "build",
       "name": "build",
-      "image": "registry.sean.farm/honda-builder",
-      "commands": [ "./ci/scripts/build.sh " + platform + " " + isa + " " + "100.0.0+${DRONE_COMMIT_SHA:0:8}" + " " + "${DRONE_BUILD_EVENT}" ]
-    },
-    {
-      "name": "list",
-      "image": "registry.sean.farm/honda-builder",
-      "commands": [ "ls -la " + platform ]
+      "image": registry + "/honda-builder",
+      "commands": [
+        "aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin " + registry,
+        "./ci/scripts/build.sh " + platform + " " + isa + " " + "100.0.0+${DRONE_COMMIT_SHA:0:8}" + " " + "${DRONE_BUILD_EVENT}"
+      ]
     },
     },
     // {
     // {
-    //   "name": "notify-mattermost",
-    //   "image": "registry.sean.farm/mattermost-notify",
-    //   "environment": {
-    //     "token": { "from_secret": "mattermost-token" },
-    //     "host": { "from_secret": "mattermost-host" },
-    //     "channel": { "from_secret": "mattermost-channel" },
-    //     "maxRetry": 3,
-    //   },
-    //   "when": { "status": [ "failure" ] }
-    // }
+    //   "name": "list",
+    //   "image": registry + "/honda-builder",
+    //   "commands": [ "ls -la " + platform ]
+    // },
   ],  
   ],  
-  "image_pull_secrets": [ "dockerconfigjson" ],
   [ if isa == "arm64" || isa == "armv7" then "platform" ]: { os: os, arch: "arm64" },
   [ if isa == "arm64" || isa == "armv7" then "platform" ]: { os: os, arch: "arm64" },
   "trigger": { "event": events }
   "trigger": { "event": events }
 };
 };

+ 56 - 2515
.drone.yml

@@ -1,2617 +1,158 @@
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: el9 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el9 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el9
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el9 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el9 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el9
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el9 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el9 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el9
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el9 s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el9 s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el9
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el8 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el8 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el8
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el8 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el8 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el8
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el8 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el8 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el8
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el8 s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el8 s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el8
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el7 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el7 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el7
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el7 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el7 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el7
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: el6 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh el6 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la el6
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: amzn2 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh amzn2 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la amzn2
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: amzn2 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh amzn2 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la amzn2
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc37 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc37 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc37
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc37 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc37 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc37
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc37 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc37 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc37
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc37 s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc37 s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc37
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc36 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc36 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc36
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc36 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc36 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc36
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc36 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc36 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc36
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc36 s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc36 s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc36
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc35 amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc35 amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc35
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc35 arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc35 arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc35
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc35 ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc35 ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc35
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: fc35 s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh fc35 s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la fc35
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy armv7 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy riscv64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy riscv64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: jammy s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh jammy s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la jammy
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: focal amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh focal amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la focal
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: focal arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh focal arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la focal
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: focal armv7 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh focal armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la focal
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: focal riscv64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh focal riscv64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la focal
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: focal ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh focal ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la focal
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bionic amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bionic amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bionic
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bionic arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bionic arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bionic
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bionic 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bionic 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bionic
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bionic ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bionic ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bionic
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bionic s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bionic s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bionic
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: xenial amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh xenial amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la xenial
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: xenial arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh xenial arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la xenial
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: xenial 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh xenial 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la xenial
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid riscv64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid riscv64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid mips64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: sid s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh sid s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la sid
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - push
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm arm64 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm armv7 build
-platform:
-  arch: arm64
-  os: linux
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm mips64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bookworm s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bookworm s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bookworm
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bullseye amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye arm64 build
-platform:
-  arch: arm64
-  os: linux
+name: sid 386 build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh bullseye arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: bullseye armv7 build
+name: sid armv7 build
 platform:
 platform:
   arch: arm64
   arch: arm64
   os: linux
   os: linux
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh bullseye armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bullseye 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye mips64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bullseye mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bullseye ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: bullseye s390x build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh bullseye s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la bullseye
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: buster amd64 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh buster amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: buster arm64 build
-platform:
-  arch: arm64
-  os: linux
+name: sid amd64 build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh buster arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: buster armv7 build
+name: sid arm64 build
 platform:
 platform:
   arch: arm64
   arch: arm64
   os: linux
   os: linux
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh buster armv7 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: buster 386 build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh buster 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: buster mips64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh buster mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
-  name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
-trigger:
-  event:
-  - tag
-type: docker
----
-clone:
-  depth: 1
-image_pull_secrets:
-- dockerconfigjson
-kind: pipeline
-name: buster ppc64le build
-pull: always
-steps:
-- commands:
-  - ./ci/scripts/build.sh buster ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: buster s390x build
+name: sid mips64le build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh buster s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid mips64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la buster
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: stretch amd64 build
+name: sid ppc64le build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh stretch amd64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid ppc64le 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la stretch
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: stretch arm64 build
-platform:
-  arch: arm64
-  os: linux
+name: sid s390x build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh stretch arm64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid s390x 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la stretch
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker
 ---
 ---
 clone:
 clone:
   depth: 1
   depth: 1
-image_pull_secrets:
-- dockerconfigjson
 kind: pipeline
 kind: pipeline
-name: stretch 386 build
+name: sid riscv64 build
 pull: always
 pull: always
 steps:
 steps:
 - commands:
 - commands:
-  - ./ci/scripts/build.sh stretch 386 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
-  image: registry.sean.farm/honda-builder
+  - aws ecr get-login-password --region us-east-2 | docker login --username AWS --password-stdin
+    084037375216.dkr.ecr.us-east-2.amazonaws.com
+  - ./ci/scripts/build.sh sid riscv64 100.0.0+${DRONE_COMMIT_SHA:0:8} ${DRONE_BUILD_EVENT}
+  image: 084037375216.dkr.ecr.us-east-2.amazonaws.com/honda-builder
   name: build
   name: build
-- commands:
-  - ls -la stretch
-  image: registry.sean.farm/honda-builder
-  name: list
-- environment:
-    channel:
-      from_secret: mattermost-channel
-    host:
-      from_secret: mattermost-host
-    maxRetry: 3
-    token:
-      from_secret: mattermost-token
-  image: registry.sean.farm/mattermost-notify
-  name: notify-mattermost
-  when:
-    status:
-    - failure
 trigger:
 trigger:
   event:
   event:
+  - push
   - tag
   - tag
+  - custom
 type: docker
 type: docker

+ 1 - 1
RELEASE-NOTES.md

@@ -32,7 +32,7 @@ Note that releases are coming few and far between because most of our dev effort
 
 
 # 2022-04-25 -- Version 1.8.9
 # 2022-04-25 -- Version 1.8.9
 
 
- * Fixed a long-standing and strange bug that was causing sporadic "phantom" packet authentication failures. Not a security problem but could be behind spordaic reports of link failures under some conditions.
+ * Fixed a long-standing and strange bug that was causing sporadic "phantom" packet authentication failures. Not a security problem but could be behind sporadic reports of link failures under some conditions.
  * Fized a memory leak in SSO/OIDC support.
  * Fized a memory leak in SSO/OIDC support.
  * Fixed SSO/OIDC display error on CLI.
  * Fixed SSO/OIDC display error on CLI.
  * Fixed a bug causing nodes to sometimes fail to push certs to each other (primarily affects SSO/OIDC use cases).
  * Fixed a bug causing nodes to sometimes fail to push certs to each other (primarily affects SSO/OIDC use cases).

+ 1 - 1
ci/Dockerfile.deb

@@ -1,5 +1,5 @@
 ARG PLATFORM
 ARG PLATFORM
-FROM registry.sean.farm/${PLATFORM}-builder as stage
+FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage
 WORKDIR /work/build
 WORKDIR /work/build
 COPY . .
 COPY . .
 RUN make debian
 RUN make debian

+ 5 - 0
ci/Dockerfile.none

@@ -0,0 +1,5 @@
+ARG PLATFORM
+FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage
+WORKDIR /work
+COPY . .
+RUN make

+ 1 - 1
ci/Dockerfile.rpm

@@ -1,5 +1,5 @@
 ARG PLATFORM
 ARG PLATFORM
-FROM registry.sean.farm/${PLATFORM}-builder as stage
+FROM 084037375216.dkr.ecr.us-east-2.amazonaws.com/${PLATFORM}-builder as stage
 WORKDIR /root/rpmbuild/BUILD
 WORKDIR /root/rpmbuild/BUILD
 COPY . .
 COPY . .
 RUN make redhat
 RUN make redhat

+ 53 - 43
ci/scripts/build.sh

@@ -8,6 +8,9 @@ export VERSION=$3
 export EVENT=$4
 export EVENT=$4
 
 
 case $PLATFORM in
 case $PLATFORM in
+    sid)
+        export PKGFMT=none
+        ;;
     el*|fc*|amzn*)
     el*|fc*|amzn*)
         export PKGFMT=rpm
         export PKGFMT=rpm
         ;;
         ;;
@@ -15,22 +18,21 @@ case $PLATFORM in
         export PKGFMT=deb
         export PKGFMT=deb
 esac
 esac
 
 
-# OSX
-# x86_64-apple-darwin
-# aarch64-apple-darwin
+#
+# Allow user to drop in custom Dockerfile for PLATFORM
+#
 
 
-# Windows
-# x86_64-pc-windows-msvc
-# i686-pc-windows-msvc
-# aarch64-pc-windows-msvc
+if [ -f "ci/Dockerfile.${PLATFORM}" ]; then
+    export DOCKERFILE="ci/Dockerfile.${PLATFORM}"
+else
+    export DOCKERFILE="ci/Dockerfile.${PKGFMT}"
+fi
 
 
-# Linux
-# i686-unknown-linux-gnu
-# x86_64-unknown-linux-gnu
-# arm-unknown-linux-gnueabi       ?
-# arm-unknown-linux-gnueabihf     ?
-# armv7-unknown-linux-gnueabihf
-# 
+#
+# Rust sometimes gets confused about where it's running.
+# Normally, the build images will have Rust pre-baked.
+# Pass RUST_TRIPLET for convenience when using a custom Dockerfile
+#
 
 
 case $ZT_ISA in
 case $ZT_ISA in
     386)
     386)
@@ -41,13 +43,9 @@ case $ZT_ISA in
         export DOCKER_ARCH=amd64
         export DOCKER_ARCH=amd64
         export RUST_TRIPLET=x86_64-unknown-linux-gnu
         export RUST_TRIPLET=x86_64-unknown-linux-gnu
         ;;
         ;;
-    armv6)
-        export DOCKER_ARCH=arm/v6
-        export RUST_TRIPLET=arm-unknown-linux-gnueabi
-        ;;
-    armv7)        
+    armv7)
         export DOCKER_ARCH=arm/v7
         export DOCKER_ARCH=arm/v7
-        export RUST_TRIPLET=arm-unknown-linux-gnueabihf
+        export RUST_TRIPLET=armv7-unknown-linux-gnueabihf
         ;;
         ;;
     arm64)
     arm64)
         export DOCKER_ARCH=arm64/v8
         export DOCKER_ARCH=arm64/v8
@@ -60,7 +58,7 @@ case $ZT_ISA in
     ppc64le)
     ppc64le)
         export DOCKER_ARCH=ppc64le
         export DOCKER_ARCH=ppc64le
         export RUST_TRIPLET=powerpc64le-unknown-linux-gnu
         export RUST_TRIPLET=powerpc64le-unknown-linux-gnu
-        ;;    
+        ;;
     mips64le)
     mips64le)
         export DOCKER_ARCH=mips64le
         export DOCKER_ARCH=mips64le
         export RUST_TRIPLET=mips64el-unknown-linux-gnuabi64
         export RUST_TRIPLET=mips64el-unknown-linux-gnuabi64
@@ -69,17 +67,15 @@ case $ZT_ISA in
         export DOCKER_ARCH=s390x
         export DOCKER_ARCH=s390x
         export RUST_TRIPLET=s390x-unknown-linux-gnu
         export RUST_TRIPLET=s390x-unknown-linux-gnu
         ;;
         ;;
-    *)        
+    *)
         echo "ERROR: could not determine architecture settings. PLEASE FIX ME"
         echo "ERROR: could not determine architecture settings. PLEASE FIX ME"
         exit 1
         exit 1
         ;;
         ;;
 esac
 esac
 
 
-if [ -f "ci/Dockerfile.${PLATFORM}" ]; then
-    export DOCKERFILE="ci/Dockerfile.${PLATFORM}"
-else
-    export DOCKERFILE="ci/Dockerfile.${PKGFMT}"
-fi
+#
+# Print debug info
+#
 
 
 echo "#~~~~~~~~~~~~~~~~~~~~"
 echo "#~~~~~~~~~~~~~~~~~~~~"
 echo "$0 variables:"
 echo "$0 variables:"
@@ -94,23 +90,37 @@ echo "PWD: ${PWD}"
 echo "DOCKERFILE: ${DOCKERFILE}"
 echo "DOCKERFILE: ${DOCKERFILE}"
 echo "#~~~~~~~~~~~~~~~~~~~~"
 echo "#~~~~~~~~~~~~~~~~~~~~"
 
 
-if [ ${EVENT} == "push" ]; then
-make munge_rpm zerotier-one.spec VERSION=${VERSION}
-make munge_deb debian/changelog VERSION=${VERSION}
+#
+# Munge RPM and Deb
+#
+
+if [ ${PKGFMT} != "none" ] && [ ${EVENT} != "tag" ]; then
+    make munge_rpm zerotier-one.spec VERSION=${VERSION}
+    make munge_deb debian/changelog VERSION=${VERSION}
 fi
 fi
 
 
-export DOCKER_BUILDKIT=1
-docker run --privileged --rm tonistiigi/binfmt --install all
+#
+# Assemble buildx arguments
+#
+
+build_args=(
+    --no-cache
+    --build-arg PLATFORM=${PLATFORM}
+    --build-arg RUST_TRIPLET=${RUST_TRIPLET}
+    --build-arg DOCKER_ARCH=${DOCKER_ARCH}
+    --platform linux/${DOCKER_ARCH}
+    -f ${DOCKERFILE}
+    -t build
+    .
+)
+
+if [ ${PKGFMT} != "none" ]; then
+    build_args+=("--output type=local,dest=.")
+    build_args+=("--target export")
+fi
 
 
-# docker pull --platform linux/${DOCKER_ARCH} registry.sean.farm/${PLATFORM}-builder
+#
+# Do build
+#
 
 
-docker buildx build \
-       --build-arg PLATFORM="${PLATFORM}" \
-       --build-arg RUST_TRIPLET="${RUST_TRIPLET}" \
-       --build-arg DOCKER_ARCH="${DOCKER_ARCH}" \
-       --platform linux/${DOCKER_ARCH} \
-       -f ${DOCKERFILE} \
-       -t build \
-       . \
-       --output type=local,dest=. \
-       --target export
+docker buildx build ${build_args[@]}

+ 2 - 2
include/ZeroTierOne.h

@@ -1208,7 +1208,7 @@ typedef struct
 	bool ssoEnabled;
 	bool ssoEnabled;
 
 
 	/**
 	/**
-	 * SSO verison
+	 * SSO version
 	 */
 	 */
 	uint64_t ssoVersion;
 	uint64_t ssoVersion;
 
 
@@ -2066,7 +2066,7 @@ ZT_SDK_API int ZT_Node_sendUserMessage(ZT_Node *node,void *tptr,uint64_t dest,ui
  * NetworkConfigMaster base class in node/. No type checking is performed,
  * NetworkConfigMaster base class in node/. No type checking is performed,
  * so a pointer to anything else will result in a crash.
  * so a pointer to anything else will result in a crash.
  *
  *
- * @param node ZertTier One node
+ * @param node ZeroTier One node
  * @param networkConfigMasterInstance Instance of NetworkConfigMaster C++ class or NULL to disable
  * @param networkConfigMasterInstance Instance of NetworkConfigMaster C++ class or NULL to disable
  * @return OK (0) or error code if a fatal error condition has occurred
  * @return OK (0) or error code if a fatal error condition has occurred
  */
  */

+ 1 - 1
java/README.md

@@ -5,7 +5,7 @@ ZeroTier One SDK - Android JNI Wrapper
 Building
 Building
 -----
 -----
 
 
-Reqires:
+Requires:
 
 
 * JDK
 * JDK
 * ANT
 * ANT

+ 0 - 66
java/jni/Android.mk

@@ -1,66 +0,0 @@
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := ZeroTierOneJNI
-LOCAL_C_INCLUDES := \
-    $(ZT1)/include \
-    $(ZT1)/node \
-    $(ZT1)/osdep
-
-LOCAL_LDLIBS := -llog
-# LOCAL_CFLAGS := -g
-
-APP_UNIFIED_HEADERS := true
-
-LOCAL_CFLAGS := -DZT_USE_MINIUPNPC
-ifeq ($(TARGET_ARCH_ABI),x86_64)
-    LOCAL_CXXFLAGS := -maes -mpclmul -msse3 -msse4.1
-endif
-ifeq ($(TARGET_ARCH_ABI),arm64-v8a)
-    LOCAL_ARM_NEON := true
-    LOCAL_CXXFLAGS := -march=armv8-a+crypto -mfloat-abi=softfp -mfpu=neon -maes -isystem $NDK/sysroot/usr/include/$TRIPLE
-endif
-
-# ZeroTierOne SDK source files
-LOCAL_SRC_FILES := \
-    $(ZT1)/node/AES.cpp \
-    $(ZT1)/node/AES_aesni.cpp \
-    $(ZT1)/node/AES_armcrypto.cpp \
-    $(ZT1)/node/Bond.cpp \
-    $(ZT1)/node/C25519.cpp \
-	$(ZT1)/node/Capability.cpp \
-	$(ZT1)/node/CertificateOfMembership.cpp \
-	$(ZT1)/node/CertificateOfOwnership.cpp \
-	$(ZT1)/node/Identity.cpp \
-	$(ZT1)/node/IncomingPacket.cpp \
-	$(ZT1)/node/InetAddress.cpp \
-	$(ZT1)/node/Membership.cpp \
-	$(ZT1)/node/Multicaster.cpp \
-	$(ZT1)/node/Network.cpp \
-	$(ZT1)/node/NetworkConfig.cpp \
-	$(ZT1)/node/Node.cpp \
-	$(ZT1)/node/OutboundMulticast.cpp \
-	$(ZT1)/node/Packet.cpp \
-	$(ZT1)/node/Path.cpp \
-	$(ZT1)/node/Peer.cpp \
-	$(ZT1)/node/Poly1305.cpp \
-	$(ZT1)/node/Revocation.cpp \
-	$(ZT1)/node/Salsa20.cpp \
-	$(ZT1)/node/SelfAwareness.cpp \
-	$(ZT1)/node/SHA512.cpp \
-	$(ZT1)/node/Switch.cpp \
-	$(ZT1)/node/Tag.cpp \
-	$(ZT1)/node/Topology.cpp \
-	$(ZT1)/node/Trace.cpp \
-	$(ZT1)/node/Utils.cpp \
-	$(ZT1)/osdep/OSUtils.cpp
-
-# JNI Files
-LOCAL_SRC_FILES += \
-	com_zerotierone_sdk_Node.cpp \
-	ZT_jniarray.cpp \
-	ZT_jniutils.cpp \
-	ZT_jnilookup.cpp
-
-include $(BUILD_SHARED_LIBRARY)

+ 0 - 5
java/jni/Application.mk

@@ -1,5 +0,0 @@
-# NDK_TOOLCHAIN_VERSION := clang3.5
-APP_STL := c++_static
-APP_CPPFLAGS := -Wall -fstack-protector -fexceptions -fno-strict-aliasing -frtti -Wno-deprecated-register -DZT_NO_TYPE_PUNNING=1 -DZT_SSO_SUPPORTED=0 -DOMIT_JSON_SUPPORT=1
-APP_PLATFORM := android-21
-APP_ABI := all

+ 20 - 1
java/jni/com_zerotierone_sdk_Node.cpp

@@ -573,7 +573,26 @@ namespace {
             return true;
             return true;
         }
         }
 
 
-        struct sockaddr_storage nullAddress = {0};
+        //
+        // was:
+        // struct sockaddr_storage nullAddress = {0};
+        //
+        // but was getting this warning:
+        // warning: suggest braces around initialization of subobject
+        //
+        // when building ZeroTierOne
+        //
+        struct sockaddr_storage nullAddress;
+
+        //
+        // It is possible to assume knowledge about internals of sockaddr_storage and construct
+        // correct 0-initializer, but it is simpler to just treat sockaddr_storage as opaque and
+        // use memset here to fill with 0
+        //
+        // This is also done in InetAddress.hpp for InetAddress
+        //
+        memset(&nullAddress, 0, sizeof(sockaddr_storage));
+
         jobject remoteAddressObj = NULL;
         jobject remoteAddressObj = NULL;
 
 
         if(memcmp(remoteAddress, &nullAddress, sizeof(sockaddr_storage)) != 0)
         if(memcmp(remoteAddress, &nullAddress, sizeof(sockaddr_storage)) != 0)

+ 15 - 14
node/Bond.cpp

@@ -18,6 +18,7 @@
 #include <cmath>
 #include <cmath>
 #include <cstdio>
 #include <cstdio>
 #include <string>
 #include <string>
+#include <cinttypes> // for PRId64, etc. macros
 
 
 namespace ZeroTier {
 namespace ZeroTier {
 
 
@@ -546,7 +547,7 @@ int32_t Bond::generateQoSPacket(int pathIdx, int64_t now, char* qosBuffer)
 	std::map<uint64_t, uint64_t>::iterator it = _paths[pathIdx].qosStatsIn.begin();
 	std::map<uint64_t, uint64_t>::iterator it = _paths[pathIdx].qosStatsIn.begin();
 	int i = 0;
 	int i = 0;
 	int numRecords = std::min(_paths[pathIdx].packetsReceivedSinceLastQoS, ZT_QOS_TABLE_SIZE);
 	int numRecords = std::min(_paths[pathIdx].packetsReceivedSinceLastQoS, ZT_QOS_TABLE_SIZE);
-	// debug("numRecords=%3d, packetsReceivedSinceLastQoS=%3d, _paths[pathIdx].qosStatsIn.size()=%3lu", numRecords, _paths[pathIdx].packetsReceivedSinceLastQoS, _paths[pathIdx].qosStatsIn.size());
+	// debug("numRecords=%3d, packetsReceivedSinceLastQoS=%3d, _paths[pathIdx].qosStatsIn.size()=%3zu", numRecords, _paths[pathIdx].packetsReceivedSinceLastQoS, _paths[pathIdx].qosStatsIn.size());
 	while (i < numRecords && it != _paths[pathIdx].qosStatsIn.end()) {
 	while (i < numRecords && it != _paths[pathIdx].qosStatsIn.end()) {
 		uint64_t id = it->first;
 		uint64_t id = it->first;
 		memcpy(qosBuffer, &id, sizeof(uint64_t));
 		memcpy(qosBuffer, &id, sizeof(uint64_t));
@@ -582,7 +583,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr<Flow>& flow, int64_t now, bool reass
 		int nextBestQualIdx = ZT_MAX_PEER_NETWORK_PATHS;
 		int nextBestQualIdx = ZT_MAX_PEER_NETWORK_PATHS;
 
 
 		if (reassign) {
 		if (reassign) {
-			log("attempting to re-assign out-flow %04x previously on idx %d (%u / %lu flows)", flow->id, flow->assignedPath, _paths[_realIdxMap[flow->assignedPath]].assignedFlowCount, _flows.size());
+			log("attempting to re-assign out-flow %04x previously on idx %d (%u / %zu flows)", flow->id, flow->assignedPath, _paths[_realIdxMap[flow->assignedPath]].assignedFlowCount, _flows.size());
 		}
 		}
 		else {
 		else {
 			debug("attempting to assign flow for the first time");
 			debug("attempting to assign flow for the first time");
@@ -607,7 +608,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr<Flow>& flow, int64_t now, bool reass
 				continue;
 				continue;
 			}
 			}
 			if (! _paths[_realIdxMap[bondedIdx]].shouldAvoid && randomLinkCapacity <= _paths[_realIdxMap[bondedIdx]].relativeLinkCapacity) {
 			if (! _paths[_realIdxMap[bondedIdx]].shouldAvoid && randomLinkCapacity <= _paths[_realIdxMap[bondedIdx]].relativeLinkCapacity) {
-				// debug("  assign out-flow %04x to link %s (%u / %lu flows)", flow->id, pathToStr(_paths[_realIdxMap[bondedIdx]].p).c_str(), _paths[_realIdxMap[bondedIdx]].assignedFlowCount, _flows.size());
+				// debug("  assign out-flow %04x to link %s (%u / %zu flows)", flow->id, pathToStr(_paths[_realIdxMap[bondedIdx]].p).c_str(), _paths[_realIdxMap[bondedIdx]].assignedFlowCount, _flows.size());
 				break;	 // Acceptable -- No violation of quality spec
 				break;	 // Acceptable -- No violation of quality spec
 			}
 			}
 			if (_paths[_realIdxMap[bondedIdx]].relativeQuality > bestQuality) {
 			if (_paths[_realIdxMap[bondedIdx]].relativeQuality > bestQuality) {
@@ -636,7 +637,7 @@ bool Bond::assignFlowToBondedPath(SharedPtr<Flow>& flow, int64_t now, bool reass
 		}
 		}
 		flow->assignPath(_abPathIdx, now);
 		flow->assignPath(_abPathIdx, now);
 	}
 	}
-	log("assign out-flow %04x to link %s (%u / %lu flows)", flow->id, pathToStr(_paths[flow->assignedPath].p).c_str(), _paths[flow->assignedPath].assignedFlowCount, _flows.size());
+	log("assign out-flow %04x to link %s (%u / %zu flows)", flow->id, pathToStr(_paths[flow->assignedPath].p).c_str(), _paths[flow->assignedPath].assignedFlowCount, _flows.size());
 	return true;
 	return true;
 }
 }
 
 
@@ -660,7 +661,7 @@ SharedPtr<Bond::Flow> Bond::createFlow(int pathIdx, int32_t flowId, unsigned cha
 	if (pathIdx != ZT_MAX_PEER_NETWORK_PATHS) {
 	if (pathIdx != ZT_MAX_PEER_NETWORK_PATHS) {
 		flow->assignPath(pathIdx, now);
 		flow->assignPath(pathIdx, now);
 		_paths[pathIdx].assignedFlowCount++;
 		_paths[pathIdx].assignedFlowCount++;
-		debug("assign in-flow %04x to link %s (%u / %lu)", flow->id, pathToStr(_paths[pathIdx].p).c_str(), _paths[pathIdx].assignedFlowCount, _flows.size());
+		debug("assign in-flow %04x to link %s (%u / %zu)", flow->id, pathToStr(_paths[pathIdx].p).c_str(), _paths[pathIdx].assignedFlowCount, _flows.size());
 	}
 	}
 	/**
 	/**
 	 * Add a flow when no path was provided. This means that it is an outgoing packet
 	 * Add a flow when no path was provided. This means that it is an outgoing packet
@@ -680,7 +681,7 @@ void Bond::forgetFlowsWhenNecessary(uint64_t age, bool oldest, int64_t now)
 	if (age) {	 // Remove by specific age
 	if (age) {	 // Remove by specific age
 		while (it != _flows.end()) {
 		while (it != _flows.end()) {
 			if (it->second->age(now) > age) {
 			if (it->second->age(now) > age) {
-				debug("forget flow %04x (age %llu) (%u / %lu)", it->first, (unsigned long long)it->second->age(now), _paths[it->second->assignedPath].assignedFlowCount, (_flows.size() - 1));
+				debug("forget flow %04x (age %" PRId64 ") (%u / %zu)", it->first, it->second->age(now), _paths[it->second->assignedPath].assignedFlowCount, (_flows.size() - 1));
 				_paths[it->second->assignedPath].assignedFlowCount--;
 				_paths[it->second->assignedPath].assignedFlowCount--;
 				it = _flows.erase(it);
 				it = _flows.erase(it);
 			}
 			}
@@ -699,7 +700,7 @@ void Bond::forgetFlowsWhenNecessary(uint64_t age, bool oldest, int64_t now)
 			++it;
 			++it;
 		}
 		}
 		if (oldestFlow != _flows.end()) {
 		if (oldestFlow != _flows.end()) {
-			debug("forget oldest flow %04x (age %llu) (total flows: %lu)", oldestFlow->first, (unsigned long long)oldestFlow->second->age(now), (unsigned long)(_flows.size() - 1));
+			debug("forget oldest flow %04x (age %" PRId64 ") (total flows: %zu)", oldestFlow->first, oldestFlow->second->age(now), _flows.size() - 1);
 			_paths[oldestFlow->second->assignedPath].assignedFlowCount--;
 			_paths[oldestFlow->second->assignedPath].assignedFlowCount--;
 			_flows.erase(oldestFlow);
 			_flows.erase(oldestFlow);
 		}
 		}
@@ -824,7 +825,7 @@ void Bond::sendACK(void* tPtr, int pathIdx, int64_t localSocket, const InetAddre
 		bytesToAck += it->second;
 		bytesToAck += it->second;
 		++it;
 		++it;
 	}
 	}
-	debug("sending ACK of %d bytes on path %s (table size = %d)", bytesToAck, pathToStr(_paths[pathIdx].p).c_str(), _paths[pathIdx].ackStatsIn.size());
+	debug("sending ACK of %d bytes on path %s (table size = %zu)", bytesToAck, pathToStr(_paths[pathIdx].p).c_str(), _paths[pathIdx].ackStatsIn.size());
 	outp.append<uint32_t>(bytesToAck);
 	outp.append<uint32_t>(bytesToAck);
 	if (atAddress) {
 	if (atAddress) {
 		outp.armor(_peer->key(), false, _peer->aesKeysIfSupported());
 		outp.armor(_peer->key(), false, _peer->aesKeysIfSupported());
@@ -1919,7 +1920,7 @@ std::string Bond::pathToStr(const SharedPtr<Path>& path)
 		SharedPtr<Link> link = getLink(path);
 		SharedPtr<Link> link = getLink(path);
 		if (link) {
 		if (link) {
 			std::string ifnameStr = std::string(link->ifname());
 			std::string ifnameStr = std::string(link->ifname());
-			snprintf(fullPathStr, 384, "%.16llx-%s/%s", (unsigned long long)(path->localSocket()), ifnameStr.c_str(), pathStr);
+			snprintf(fullPathStr, 384, "%.16" PRIx64 "-%s/%s", path->localSocket(), ifnameStr.c_str(), pathStr);
 			return std::string(fullPathStr);
 			return std::string(fullPathStr);
 		}
 		}
 	}
 	}
@@ -1935,11 +1936,11 @@ void Bond::dumpPathStatus(int64_t now, int pathIdx)
 	std::string aliveOrDead = _paths[pathIdx].alive ? std::string("alive") : std::string("dead");
 	std::string aliveOrDead = _paths[pathIdx].alive ? std::string("alive") : std::string("dead");
 	std::string eligibleOrNot = _paths[pathIdx].eligible ? std::string("eligible") : std::string("ineligible");
 	std::string eligibleOrNot = _paths[pathIdx].eligible ? std::string("eligible") : std::string("ineligible");
 	std::string bondedOrNot = _paths[pathIdx].bonded ? std::string("bonded") : std::string("unbonded");
 	std::string bondedOrNot = _paths[pathIdx].bonded ? std::string("bonded") : std::string("unbonded");
-	log("path[%2u] --- %5s (in %7lld, out: %7lld), %10s, %8s, flows=%-6u lat=%-8.3f pdv=%-7.3f err=%-6.4f loss=%-6.4f qual=%-6.4f --- (%s) spare=%d",
+	log("path[%2u] --- %5s (in %7" PRId64 ", out: %7" PRId64 "), %10s, %8s, flows=%-6u lat=%-8.3f pdv=%-7.3f err=%-6.4f loss=%-6.4f qual=%-6.4f --- (%s) spare=%d",
 		pathIdx,
 		pathIdx,
 		aliveOrDead.c_str(),
 		aliveOrDead.c_str(),
-		static_cast<long long int>(_paths[pathIdx].p->age(now)),
-		static_cast<long long int>(_paths[pathIdx].p->_lastOut == 0 ? 0 : now - _paths[pathIdx].p->_lastOut),
+		_paths[pathIdx].p->age(now),
+		_paths[pathIdx].p->_lastOut == 0 ? static_cast<int64_t>(0) : now - _paths[pathIdx].p->_lastOut,
 		eligibleOrNot.c_str(),
 		eligibleOrNot.c_str(),
 		bondedOrNot.c_str(),
 		bondedOrNot.c_str(),
 		_paths[pathIdx].assignedFlowCount,
 		_paths[pathIdx].assignedFlowCount,
@@ -1963,13 +1964,13 @@ void Bond::dumpInfo(int64_t now, bool force)
 	_lastSummaryDump = now;
 	_lastSummaryDump = now;
 	float overhead = (_overheadBytes / (timeSinceLastDump / 1000.0f) / 1000.0f);
 	float overhead = (_overheadBytes / (timeSinceLastDump / 1000.0f) / 1000.0f);
 	_overheadBytes = 0;
 	_overheadBytes = 0;
-	log("bond: bp=%d, fi=%d, mi=%d, ud=%d, dd=%d, flows=%lu, leaf=%d, overhead=%f KB/s, links=(%d/%d)",
+	log("bond: bp=%d, fi=%" PRIu64 ", mi=%d, ud=%d, dd=%d, flows=%zu, leaf=%d, overhead=%f KB/s, links=(%d/%d)",
 		_policy,
 		_policy,
 		_failoverInterval,
 		_failoverInterval,
 		_monitorInterval,
 		_monitorInterval,
 		_upDelay,
 		_upDelay,
 		_downDelay,
 		_downDelay,
-		(unsigned long)_flows.size(),
+		_flows.size(),
 		_isLeaf,
 		_isLeaf,
 		overhead,
 		overhead,
 		_numAliveLinks,
 		_numAliveLinks,

+ 1 - 1
node/Path.hpp

@@ -194,7 +194,7 @@ public:
 	 */
 	 */
 	inline unsigned int preferenceRank() const
 	inline unsigned int preferenceRank() const
 	{
 	{
-		// This causes us to rank paths in order of IP scope rank (see InetAdddress.hpp) but
+		// This causes us to rank paths in order of IP scope rank (see InetAddress.hpp) but
 		// within each IP scope class to prefer IPv6 over IPv4.
 		// within each IP scope class to prefer IPv6 over IPv4.
 		return ( ((unsigned int)_ipScope << 1) | (unsigned int)(_addr.ss_family == AF_INET6) );
 		return ( ((unsigned int)_ipScope << 1) | (unsigned int)(_addr.ss_family == AF_INET6) );
 	}
 	}

+ 7 - 0
osdep/Binder.hpp

@@ -313,6 +313,13 @@ class Binder {
 #else
 #else
 			const bool gotViaProc = false;
 			const bool gotViaProc = false;
 #endif
 #endif
+
+			//
+			// prevent:
+			// warning: unused variable 'gotViaProc'
+			//
+			(void)gotViaProc;
+
 #if ! (defined(ZT_SDK) || defined(__ANDROID__))	  // getifaddrs() freeifaddrs() not available on Android
 #if ! (defined(ZT_SDK) || defined(__ANDROID__))	  // getifaddrs() freeifaddrs() not available on Android
 			if (! gotViaProc) {
 			if (! gotViaProc) {
 				struct ifaddrs* ifatbl = (struct ifaddrs*)0;
 				struct ifaddrs* ifatbl = (struct ifaddrs*)0;

+ 4 - 0
osdep/OSUtils.cpp

@@ -43,6 +43,10 @@
 
 
 #include "OSUtils.hpp"
 #include "OSUtils.hpp"
 
 
+#ifdef __GCC__
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+#endif
+
 namespace ZeroTier {
 namespace ZeroTier {
 
 
 unsigned int OSUtils::ztsnprintf(char *buf,unsigned int len,const char *fmt,...)
 unsigned int OSUtils::ztsnprintf(char *buf,unsigned int len,const char *fmt,...)

+ 1 - 1
selftest.cpp

@@ -667,7 +667,7 @@ static int testPacket()
 
 
 	std::cout << "(compressed: " << complen << ", decompressed: " << a.size() << ") ";
 	std::cout << "(compressed: " << complen << ", decompressed: " << a.size() << ") ";
 	if (a != b) {
 	if (a != b) {
-		std::cout << "FAIL (compresssion)" << std::endl;
+		std::cout << "FAIL (compression)" << std::endl;
 		return -1;
 		return -1;
 	}
 	}
 
 

+ 2 - 2
service/OneService.cpp

@@ -1401,7 +1401,7 @@ public:
 
 
 		/* Note: this is kind of restricted in what it'll take. It does not support
 		/* Note: this is kind of restricted in what it'll take. It does not support
 		 * URL encoding, and /'s in URL args will screw it up. But the only URL args
 		 * URL encoding, and /'s in URL args will screw it up. But the only URL args
-		 * it really uses in ?jsonp=funcionName, and otherwise it just takes simple
+		 * it really uses in ?jsonp=functionName, and otherwise it just takes simple
 		 * paths to simply-named resources. */
 		 * paths to simply-named resources. */
 		if (!ps.empty()) {
 		if (!ps.empty()) {
 			std::size_t qpos = ps[ps.size() - 1].find('?');
 			std::size_t qpos = ps[ps.size() - 1].find('?');
@@ -2112,7 +2112,7 @@ public:
 		// bondingPolicy cannot be used with allowTcpFallbackRelay
 		// bondingPolicy cannot be used with allowTcpFallbackRelay
 		_allowTcpFallbackRelay = OSUtils::jsonBool(settings["allowTcpFallbackRelay"],true);
 		_allowTcpFallbackRelay = OSUtils::jsonBool(settings["allowTcpFallbackRelay"],true);
 #ifdef ZT_TCP_FALLBACK_RELAY
 #ifdef ZT_TCP_FALLBACK_RELAY
-		_fallbackRelayAddress = InetAddress(OSUtils::jsonString("tcpFallbackRelay", ZT_TCP_FALLBACK_RELAY).c_str());
+		_fallbackRelayAddress = InetAddress(OSUtils::jsonString(settings["tcpFallbackRelay"], ZT_TCP_FALLBACK_RELAY).c_str());
 #endif
 #endif
 		_primaryPort = (unsigned int)OSUtils::jsonInt(settings["primaryPort"],(uint64_t)_primaryPort) & 0xffff;
 		_primaryPort = (unsigned int)OSUtils::jsonInt(settings["primaryPort"],(uint64_t)_primaryPort) & 0xffff;
 		_allowSecondaryPort = OSUtils::jsonBool(settings["allowSecondaryPort"],true);
 		_allowSecondaryPort = OSUtils::jsonBool(settings["allowSecondaryPort"],true);