mirror of
https://github.com/QuilibriumNetwork/ceremonyclient.git
synced 2026-02-22 10:57:24 +08:00
commit d05a4d5f688dbd09900ceccdcc5f8109dd0671c2
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Wed Jun 12 00:50:16 2024 -0500
merge
commit db57ff1f191f9dedc87ca77da1c71244dd2325bd
Merge: 7b43494 2e3279a
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Wed Jun 12 00:49:32 2024 -0500
Merge branch 'v1.4.19' into not-release
commit 7b43494246e28152b46710c8c9821429d4231f7e
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Wed Jun 12 00:49:13 2024 -0500
pull from release site
commit 2e3279ac930ac630d9ca2b26cf4f3232abe79823
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 06:31:02 2024 -0500
remove binaries
commit 2768a8778b3860c5736352c8aa950e3496a46e56
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 06:24:44 2024 -0500
signatory #8 added
commit 6a944628575ccadd17c9f9f4a11a49c032fa0c1d
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 06:08:26 2024 -0500
signatory #6 added
commit b401fb65e5ddbe0340fe85aab1182d6120a4e161
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 05:39:03 2024 -0500
signatory #3 added
commit e5700913c0f6246fb607bcd3e219c257cb4a80e9
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 05:31:24 2024 -0500
signatory #15 added
commit 9b1da6c03e517135bfcd59226f900adab42f3687
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 05:23:02 2024 -0500
signatories #4 and #16 added
commit 9c97d1bbc399a070ac21b35ed9b1af127fa4c7ea
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 04:59:27 2024 -0500
signatories #1 and #2 added
commit 905e3f78a8121eade1c331ae910ed25dd534f27a
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 04:40:32 2024 -0500
build, binaries, signatory #13
commit ebfb57bc29d9ed1fb25d0dd100e38709354b3d84
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Sat Jun 8 03:38:53 2024 -0500
tests pass, let's go
commit 5d4612c6c624c3dc18f9a5657936034ac9d9d8dd
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 03:53:15 2024 -0500
update version info + readme
commit 6b0dd69e930d01b98acb8d7b56bb5d572e1a4324
Merge: 090d630 859221b
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 08:25:16 2024 +0000
Merge branch 'feat-data-worker-direct-config' into 'v1.4.19'
feat: support detached configuration mode for data workers
See merge request quilibrium/ceremonyclient!7
commit 859221b179ab2631fa474be2494259afaaa6bd51
Author: Cassandra Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 03:24:22 2024 -0500
feat: support detached configuration mode for data workers
commit 090d6301d44a2aa88886120783cd5a6e537aa6d1
Merge: 62db30c d1cae94
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 06:25:43 2024 +0000
Merge branch 'feat-go-1-22' into 'v1.4.19'
feat: go 1.22 support
See merge request quilibrium/ceremonyclient!6
commit d1cae942165f4871f8051e266722c0ca717780cb
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 06:25:43 2024 +0000
feat: go 1.22 support
commit 62db30c54f9258c92113c6664ce817670a339083
Merge: 0cbc0d0 f36cea3
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 03:52:17 2024 +0000
Merge branch 'rust-vdf' into 'v1.4.19'
Switch to Rust VDF
See merge request quilibrium/ceremonyclient!2
commit f36cea323bfe5e56f519f59f9a0cce35f0f8b6ab
Author: Agost Biro <agostbiro@gmail.com>
Date: Fri Jun 7 03:52:16 2024 +0000
Switch to Rust VDF
commit 0cbc0d0d319713e20ca7f48588c4153833e58429
Merge: 986e12c 0c48a83
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Fri Jun 7 00:50:15 2024 +0000
Merge branch 'release_image' into 'v1.4.19'
create docker image based on release binaries
See merge request quilibrium/ceremonyclient!4
commit 0c48a83bb5751abf7c8c0ff188bfdc2130631e78
Author: Marius Scurtescu <marius.scurtescu@gmail.com>
Date: Fri Jun 7 00:50:15 2024 +0000
create docker image based on release binaries
commit 986e12c88bb2d2b412b59f7db1ae39f828304dbe
Merge: 58456c1 a3ef5c6
Author: Cassie Heart <cassandra@quilibrium.com>
Date: Wed Jun 5 22:01:37 2024 +0000
Merge branch 'signature_check' into 'v1.4.19'
add default of signature check from QUILIBRIUM_SIGNATURE_CHECK env var
See merge request quilibrium/ceremonyclient!1
commit a3ef5c6af2d5de107d01c45a62d7324165e2551b
Author: Marius Scurtescu <marius.scurtescu@gmail.com>
Date: Wed Jun 5 14:37:50 2024 -0700
add default of signature check from QUILIBRIUM_SIGNATURE_CHECK env var
210 lines
8.2 KiB
YAML
210 lines
8.2 KiB
YAML
# https://taskfile.dev
|
|
|
|
version: '3'
|
|
|
|
dotenv:
|
|
- '.env'
|
|
|
|
env:
|
|
GOEXPERIMENT: arenas
|
|
|
|
vars:
|
|
VERSION:
|
|
sh: cat ../node/config/version.go | grep -A 1 "func GetVersion() \[\]byte {" | grep -Eo '0x[0-9a-fA-F]+' | xargs printf "%d.%d.%d"
|
|
MAX_KEY_ID: 17
|
|
QUILIBRIUM_SIGNERS_IMAGE_NAME: 'quilibrium-signers'
|
|
USER_NAME:
|
|
sh: whoami
|
|
PARENT_FOLDER:
|
|
sh: dirname $(pwd)
|
|
SIGNING_KEYS_PEM_DIR: 'pems'
|
|
|
|
tasks:
|
|
status:
|
|
desc: Display configuration info.
|
|
cmds:
|
|
- echo -n "Version :" && echo " {{.VERSION}}"
|
|
- echo -n "Priv Key Path:" && echo " {{.SIGNING_KEY_PATH}}"
|
|
- echo -n "Pub Key Path:" && echo " {{.SIGNING_PUB_KEY_PATH}}"
|
|
- echo -n "Key ID :" && echo " {{.SIGNING_KEY_ID}}"
|
|
- echo -n "Max Key ID :" && echo " {{.MAX_KEY_ID}}"
|
|
silent: true
|
|
|
|
hex:
|
|
desc: Print the hex representation of your public key.
|
|
cmds:
|
|
- cat {{.SIGNING_PUB_KEY_PATH}} | openssl ec -inform pem -pubin -noout -text
|
|
|
|
docker:build_image:
|
|
desc: Build the Quilibrium Signers docker image, unless it is already built.
|
|
aliases:
|
|
- image
|
|
preconditions:
|
|
- sh: 'test -z "$QUILIBRIUM_DOCKER_CONTAINER"'
|
|
msg: 'This command cannot be run inside the container'
|
|
cmds:
|
|
- |
|
|
docker build \
|
|
--build-arg USER_NAME={{.USER_NAME}} \
|
|
--build-arg UID=$(id -u) \
|
|
--build-arg GID=$(id -g) \
|
|
-t {{.QUILIBRIUM_SIGNERS_IMAGE_NAME}}:latest \
|
|
.
|
|
status:
|
|
- |
|
|
docker image inspect \
|
|
{{.QUILIBRIUM_SIGNERS_IMAGE_NAME}} \
|
|
>/dev/null 2>/dev/null
|
|
|
|
build:
|
|
desc: Build the Quilibrium node binaries by starting a container and starting the build inside the container.
|
|
preconditions:
|
|
- sh: 'test -z "$QUILIBRIUM_DOCKER_CONTAINER"'
|
|
msg: 'This command cannot be run inside the container'
|
|
deps:
|
|
- docker:build_image
|
|
cmds:
|
|
- docker run --name signers --rm -it -v {{.PARENT_FOLDER}}:/home/{{.USER_NAME}}/ceremonyclient -u {{.USER_NAME}} -w /home/{{.USER_NAME}}/ceremonyclient/signers {{.QUILIBRIUM_SIGNERS_IMAGE_NAME}} task build:container
|
|
|
|
build:shell:
|
|
desc: Start a shell in a build container.
|
|
aliases:
|
|
- shell
|
|
preconditions:
|
|
- sh: 'test -z "$QUILIBRIUM_DOCKER_CONTAINER"'
|
|
msg: 'This command cannot be run inside the container'
|
|
deps:
|
|
- docker:build_image
|
|
cmds:
|
|
- docker run --name signers --rm -it -v {{.PARENT_FOLDER}}:/home/{{.USER_NAME}}/ceremonyclient -u {{.USER_NAME}} -w /home/{{.USER_NAME}}/ceremonyclient/signers {{.QUILIBRIUM_SIGNERS_IMAGE_NAME}} bash
|
|
|
|
build:container:
|
|
desc: Build the Quilibrium node binaries, inside the Docker container.
|
|
dir: ../node
|
|
sources:
|
|
- '**/*.go'
|
|
generates:
|
|
- node-{{.VERSION}}-darwin-arm64
|
|
- node-{{.VERSION}}-linux-amd64
|
|
- node-{{.VERSION}}-linux-arm64
|
|
cmds:
|
|
- GOOS=darwin go build -ldflags "-s -w" -o node-{{.VERSION}}-darwin-arm64
|
|
- GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o node-{{.VERSION}}-linux-amd64
|
|
- GOOS=linux GOARCH=arm64 go build -ldflags "-s -w" -o node-{{.VERSION}}-linux-arm64
|
|
|
|
digest:
|
|
desc: Generate digests for node binaries.
|
|
deps: [build]
|
|
dir: ../node
|
|
sources:
|
|
- node-{{.VERSION}}-darwin-arm64
|
|
- node-{{.VERSION}}-linux-amd64
|
|
- node-{{.VERSION}}-linux-arm64
|
|
generates:
|
|
- node-{{.VERSION}}-*.dgst
|
|
cmds:
|
|
- openssl sha3-256 -out node-{{.VERSION}}-darwin-arm64.dgst node-{{.VERSION}}-darwin-arm64
|
|
- openssl sha3-256 -out node-{{.VERSION}}-linux-amd64.dgst node-{{.VERSION}}-linux-amd64
|
|
- openssl sha3-256 -out node-{{.VERSION}}-linux-arm64.dgst node-{{.VERSION}}-linux-arm64
|
|
|
|
sign:
|
|
desc: Generate signatures for node binaries.
|
|
deps: [digest]
|
|
dir: ../node
|
|
preconditions:
|
|
- sh: 'test -n "$SIGNING_KEY_PATH"'
|
|
msg: 'The path to the signing key must be set in SIGNING_KEY_PATH'
|
|
- sh: 'test -n "$SIGNING_KEY_ID"'
|
|
msg: 'The signing key id must be set in SIGNING_KEY_ID'
|
|
sources:
|
|
- node-{{.VERSION}}-*.dgst
|
|
generates:
|
|
- node-{{.VERSION}}-*.dgst.sig.{{.SIGNING_KEY_ID}}
|
|
cmds:
|
|
- openssl pkeyutl -sign -inkey {{.SIGNING_KEY_PATH}} -rawin -in node-{{.VERSION}}-darwin-arm64.dgst -out node-{{.VERSION}}-darwin-arm64.dgst.sig.{{.SIGNING_KEY_ID}}
|
|
- openssl pkeyutl -sign -inkey {{.SIGNING_KEY_PATH}} -rawin -in node-{{.VERSION}}-linux-amd64.dgst -out node-{{.VERSION}}-linux-amd64.dgst.sig.{{.SIGNING_KEY_ID}}
|
|
- openssl pkeyutl -sign -inkey {{.SIGNING_KEY_PATH}} -rawin -in node-{{.VERSION}}-linux-arm64.dgst -out node-{{.VERSION}}-linux-arm64.dgst.sig.{{.SIGNING_KEY_ID}}
|
|
|
|
verify:build:
|
|
desc: Verify that the existing binaries can be rebuilt exactly the same.
|
|
dir: ../node
|
|
preconditions:
|
|
- sh: 'test -z "$QUILIBRIUM_DOCKER_CONTAINER"'
|
|
msg: 'This command cannot be run inside the container'
|
|
deps:
|
|
- docker:build_image
|
|
cmds:
|
|
- docker run --name signers --rm -it -v {{.PARENT_FOLDER}}:/home/{{.USER_NAME}}/ceremonyclient -u {{.USER_NAME}} -w /home/{{.USER_NAME}}/ceremonyclient/signers {{.QUILIBRIUM_SIGNERS_IMAGE_NAME}} task verify:build:container
|
|
- diff node-{{.VERSION}}-darwin-arm64 node-tmp-darwin-arm64
|
|
- diff node-{{.VERSION}}-linux-amd64 node-tmp-linux-amd64
|
|
- diff node-{{.VERSION}}-linux-arm64 node-tmp-linux-arm64
|
|
|
|
verify:build:container:
|
|
desc: Verify that the existing binaries can be rebuilt exactly the same, inside tbe Docker container.
|
|
dir: ../node
|
|
sources:
|
|
- '**/*.go'
|
|
generates:
|
|
- node-tmp-darwin-arm64
|
|
- node-tmp-linux-amd64
|
|
- node-tmp-linux-arm64
|
|
cmds:
|
|
- GOOS=darwin go build -ldflags "-s -w" -o node-tmp-darwin-arm64
|
|
- GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o node-tmp-linux-amd64
|
|
- GOOS=linux GOARCH=arm64 go build -ldflags "-s -w" -o node-tmp-linux-arm64
|
|
- diff node-{{.VERSION}}-darwin-arm64 node-tmp-darwin-arm64
|
|
- diff node-{{.VERSION}}-linux-amd64 node-tmp-linux-amd64
|
|
- diff node-{{.VERSION}}-linux-arm64 node-tmp-linux-arm64
|
|
|
|
verify:digest:
|
|
desc: Verify that the existing digests are correct.
|
|
dir: ../node
|
|
cmds:
|
|
- openssl sha3-256 -out node-tmp-darwin-arm64.dgst node-{{.VERSION}}-darwin-arm64
|
|
- openssl sha3-256 -out node-tmp-linux-amd64.dgst node-{{.VERSION}}-linux-amd64
|
|
- openssl sha3-256 -out node-tmp-linux-arm64.dgst node-{{.VERSION}}-linux-arm64
|
|
- diff node-{{.VERSION}}-darwin-arm64.dgst node-tmp-darwin-arm64.dgst
|
|
- diff node-{{.VERSION}}-linux-amd64.dgst node-tmp-linux-amd64.dgst
|
|
- diff node-{{.VERSION}}-linux-arm64.dgst node-tmp-linux-arm64.dgst
|
|
|
|
verify:signatures:
|
|
desc: Verify all signatures.
|
|
dir: ../node
|
|
cmds:
|
|
- |
|
|
for i in {1..{{.MAX_KEY_ID}}}
|
|
do
|
|
if [ -f node-{{.VERSION}}-darwin-arm64.dgst.sig.$i ]
|
|
then
|
|
echo $i
|
|
echo "node-{{.VERSION}}-darwin-arm64"
|
|
openssl pkeyutl -verify -rawin -inkey {{.SIGNING_KEYS_PEM_DIR}}/$i.pem -pubin -sigfile node-{{.VERSION}}-darwin-arm64.dgst.sig.$i -in node-{{.VERSION}}-darwin-arm64.dgst
|
|
echo "node-{{.VERSION}}-linux-amd64"
|
|
openssl pkeyutl -verify -rawin -inkey {{.SIGNING_KEYS_PEM_DIR}}/$i.pem -pubin -sigfile node-{{.VERSION}}-linux-amd64.dgst.sig.$i -in node-{{.VERSION}}-linux-amd64.dgst
|
|
echo "node-{{.VERSION}}-linux-arm64"
|
|
openssl pkeyutl -verify -rawin -inkey {{.SIGNING_KEYS_PEM_DIR}}/$i.pem -pubin -sigfile node-{{.VERSION}}-linux-arm64.dgst.sig.$i -in node-{{.VERSION}}-linux-arm64.dgst
|
|
else
|
|
if [ -f node-{{.VERSION}}-linux-arm64.dgst.sig.$i ]
|
|
then
|
|
echo "$i is missing signatures"
|
|
else
|
|
if [ -f node-{{.VERSION}}-linux-amd64.dgst.sig.$i ]
|
|
then
|
|
echo "$i is missing signatures"
|
|
fi
|
|
fi
|
|
fi
|
|
done
|
|
silent: true
|
|
|
|
clean:
|
|
desc: Remove temporary files, docker containers and image.
|
|
dir: ../node
|
|
preconditions:
|
|
- sh: 'test -z "$QUILIBRIUM_DOCKER_CONTAINER"'
|
|
msg: 'This command cannot be run inside the container'
|
|
cmds:
|
|
- rm -f node-tmp-*
|
|
- docker container rm -f signers
|
|
- docker image rm -f {{.QUILIBRIUM_SIGNERS_IMAGE_NAME}}
|