From 052cecdd5c6c5e9d8a50186de5b1b65190a7d689 Mon Sep 17 00:00:00 2001 From: Touseef Liaqat Date: Sat, 20 Jan 2024 02:28:41 -0800 Subject: [PATCH] Use agoric's synchetic chain image --- builder/builder.go | 3 ++ builder/types.go | 1 + chains.yaml | 73 ++------------------------------------- dockerfile/dockerfiles.go | 3 ++ 4 files changed, 10 insertions(+), 70 deletions(-) diff --git a/builder/builder.go b/builder/builder.go index 3c38180..f650f1a 100644 --- a/builder/builder.go +++ b/builder/builder.go @@ -120,6 +120,9 @@ func rawDockerfile( case DockerfileTypeImported: return dockerfileEmbeddedOrLocal("imported/Dockerfile", dockerfile.Imported) + case DockerfileTypeAgoric: + return dockerfileEmbeddedOrLocal("agoric/Dockerfile", dockerfile.Agoric) + case DockerfileTypeCargo: if useBuildKit { return dockerfileEmbeddedOrLocal("cargo/Dockerfile", dockerfile.Cargo) diff --git a/builder/types.go b/builder/types.go index fc3aed5..f7e6b8b 100644 --- a/builder/types.go +++ b/builder/types.go @@ -4,6 +4,7 @@ type DockerfileType string const ( DockerfileTypeCosmos DockerfileType = "cosmos" + DockerfileTypeAgoric DockerfileType = "agoric" DockerfileTypeAvalanche DockerfileType = "avalanche" DockerfileTypeCargo DockerfileType = "cargo" DockerfileTypeImported DockerfileType = "imported" diff --git a/chains.yaml b/chains.yaml index c90b7c0..cd81368 100644 --- a/chains.yaml +++ b/chains.yaml @@ -11,76 +11,9 @@ # Agoric-sdk - name: agoric - dockerfile: cargo - github-organization: Agoric - github-repo: agoric-sdk - build-env: - - LEDGER_ENABLED=false - build-target: | - apt update && apt install -y python3 g++ - - curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash - export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" - [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm - nvm install 18 - npm i -g yarn - - set -eux - cd golang/cosmos - export CGO_ENABLED=1 GOOS=linux GOARCH=${TARGETARCH} CC=${ARCH}-linux-gnu-gcc CXX=${ARCH}-linux-gnu-g++ - COMMIT=$(git log -1 --format='%H') - COMMON_LDFLAGS="-X github.com/cosmos/cosmos-sdk/version.Name=agoric \ - -X github.com/cosmos/cosmos-sdk/version.AppName=agd \ - -X github.com/cosmos/cosmos-sdk/version.Version=$VERSION \ - -X "github.com/cosmos/cosmos-sdk/version.BuildTags=$BUILD_TAGS" \ - -X github.com/cosmos/cosmos-sdk/version.Commit=$COMMIT" - - # Build daemon lib - go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -buildmode=c-shared -o build/libagcosmosdaemon.so ./cmd/libdaemon/main.go - - # Build helper - LDFLAGS_HELPER="$COMMON_LDFLAGS -X github.com/cosmos/cosmos-sdk/version.AppName=ag-cosmos-helper" - go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$LDFLAGS_HELPER" -o ../../bin/ag-cosmos-helper ./cmd/helper - - # Build agd - go build -v -mod=readonly -tags "$BUILD_TAGS" -ldflags "$COMMON_LDFLAGS" -o ../../bin/agd ./cmd/agd - - # Build nodejs swingset kernel - npm install node-addon-api --legacy-peer-deps - export CC_host=gcc CXX_host=g++ - GYP_DEBUG="--arch=${TARGETARCH}" make node-compile-gyp - # cp binding.gyp.in binding.gyp - # /root/.nvm/versions/node/*/lib/node_modules/npm/bin/node-gyp-bin/node-gyp configure build --arch=${TARGETARCH} - cd ../../packages - rm -rf ui-components web-components wallet-connection wallet web-components - cd .. - npm_config_arch=${TARGETARCH} yarn - npm_config_arch=${TARGETARCH} yarn build - - # Move to final location - mkdir /agoric-sdk - mv packages node_modules bin golang /agoric-sdk - directories: - - /agoric-sdk - - /root/.nvm/versions/node - libraries: - - /agoric-sdk/golang/cosmos/build/libagcosmosdaemon.so - target-libraries: - - /lib/${ARCH}-linux-gnu/libdl.so.2 - - /lib/${ARCH}-linux-gnu/libm.so.6 - - /usr/lib/${ARCH}-linux-gnu/libstdc++.so.6 - - /usr/lib/gcc/${ARCH}-linux-gnu/10/libgcc_s.so - - /lib/${ARCH}-linux-gnu/libgcc_s.so.1 - final-image: | - set -eux - ln -s /agoric-sdk/bin/agd /bin/agd - ln -s /agoric-sdk/bin/ag-cosmos-helper /bin/ag-cosmos-helper - ln -s /agoric-sdk/packages/cosmic-swingset/bin/ag-chain-cosmos /bin/ag-chain-cosmos - ln -s /agoric-sdk/packages/cosmic-swingset/bin/ag-nchainz /bin/ag-nchainz - mkdir -p /go/src/github.com/strangelove-ventures/agoric-sdk/golang/cosmos/build /build/agoric-sdk/golang/cosmos/build - mv /agoric-sdk/golang/cosmos/build/libagcosmosdaemon.so /go/src/github.com/strangelove-ventures/agoric-sdk/golang/cosmos/build/ - ln -s /go/src/github.com/strangelove-ventures/agoric-sdk/golang/cosmos/build/libagcosmosdaemon.so /build/agoric-sdk/golang/cosmos/build/libagcosmosdaemon.so - ln -s /root/.nvm/versions/node/*/bin/node /bin/node + dockerfile: agoric + platforms: + - linux/amd64 # Akash - name: akash diff --git a/dockerfile/dockerfiles.go b/dockerfile/dockerfiles.go index 128e0e0..b8e748a 100644 --- a/dockerfile/dockerfiles.go +++ b/dockerfile/dockerfiles.go @@ -23,6 +23,9 @@ var CosmosLocalCross []byte //go:embed imported/Dockerfile var Imported []byte +//go:embed agoric/Dockerfile +var Agoric []byte + //go:embed none/Dockerfile var None []byte