Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ Session.vim
*~
ts_build
bitcore-lib.js
bitcore-test.local.config.json
79 changes: 41 additions & 38 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:18-bullseye
FROM node:22-bookworm

# Install Chrome

Expand All @@ -21,61 +21,64 @@ RUN set -x \
&& google-chrome --version


RUN npm i -g npm@8.19.3
# RUN npm i -g npm@8.19.3

WORKDIR /bitcore

Comment thread
kajoseph marked this conversation as resolved.
# Add source
COPY lerna.json ./
COPY package*.json ./
# # Add source
# COPY lerna.json ./
# COPY package*.json ./

COPY ./packages/bitcore-cli/package.json ./packages/bitcore-cli/package.json
COPY ./packages/bitcore-cli/package-lock.json ./packages/bitcore-cli/package-lock.json
# COPY ./packages/bitcore-cli/package.json ./packages/bitcore-cli/package.json
# COPY ./packages/bitcore-cli/package-lock.json ./packages/bitcore-cli/package-lock.json

COPY ./packages/bitcore-client/package.json ./packages/bitcore-client/package.json
COPY ./packages/bitcore-client/package-lock.json ./packages/bitcore-client/package-lock.json
# COPY ./packages/bitcore-client/package.json ./packages/bitcore-client/package.json
# COPY ./packages/bitcore-client/package-lock.json ./packages/bitcore-client/package-lock.json

COPY ./packages/bitcore-build/package.json ./packages/bitcore-build/package.json
COPY ./packages/bitcore-build/package-lock.json ./packages/bitcore-build/package-lock.json
# COPY ./packages/bitcore-build/package.json ./packages/bitcore-build/package.json
# COPY ./packages/bitcore-build/package-lock.json ./packages/bitcore-build/package-lock.json

COPY ./packages/bitcore-lib-cash/package.json ./packages/bitcore-lib-cash/package.json
COPY ./packages/bitcore-lib-cash/package-lock.json ./packages/bitcore-lib-cash/package-lock.json
# COPY ./packages/bitcore-lib-cash/package.json ./packages/bitcore-lib-cash/package.json
# COPY ./packages/bitcore-lib-cash/package-lock.json ./packages/bitcore-lib-cash/package-lock.json

COPY ./packages/bitcore-lib/package.json ./packages/bitcore-lib/package.json
COPY ./packages/bitcore-lib/package-lock.json ./packages/bitcore-lib/package-lock.json
# COPY ./packages/bitcore-lib/package.json ./packages/bitcore-lib/package.json
# COPY ./packages/bitcore-lib/package-lock.json ./packages/bitcore-lib/package-lock.json

COPY ./packages/bitcore-mnemonic/package.json ./packages/bitcore-mnemonic/package.json
COPY ./packages/bitcore-mnemonic/package-lock.json ./packages/bitcore-mnemonic/package-lock.json
# COPY ./packages/bitcore-mnemonic/package.json ./packages/bitcore-mnemonic/package.json
# COPY ./packages/bitcore-mnemonic/package-lock.json ./packages/bitcore-mnemonic/package-lock.json

COPY ./packages/bitcore-node/package.json ./packages/bitcore-node/package.json
COPY ./packages/bitcore-node/package-lock.json ./packages/bitcore-node/package-lock.json
# COPY ./packages/bitcore-node/package.json ./packages/bitcore-node/package.json
# COPY ./packages/bitcore-node/package-lock.json ./packages/bitcore-node/package-lock.json

COPY ./packages/bitcore-p2p-cash/package.json ./packages/bitcore-p2p-cash/package.json
COPY ./packages/bitcore-p2p-cash/package-lock.json ./packages/bitcore-p2p-cash/package-lock.json
# COPY ./packages/bitcore-p2p-cash/package.json ./packages/bitcore-p2p-cash/package.json
# COPY ./packages/bitcore-p2p-cash/package-lock.json ./packages/bitcore-p2p-cash/package-lock.json

COPY ./packages/bitcore-p2p/package.json ./packages/bitcore-p2p/package.json
COPY ./packages/bitcore-p2p/package-lock.json ./packages/bitcore-p2p/package-lock.json
# COPY ./packages/bitcore-p2p/package.json ./packages/bitcore-p2p/package.json
# COPY ./packages/bitcore-p2p/package-lock.json ./packages/bitcore-p2p/package-lock.json

COPY ./packages/bitcore-wallet-client/package.json ./packages/bitcore-wallet-client/package.json
COPY ./packages/bitcore-wallet-client/package-lock.json ./packages/bitcore-wallet-client/package-lock.json
# COPY ./packages/bitcore-wallet-client/package.json ./packages/bitcore-wallet-client/package.json
# COPY ./packages/bitcore-wallet-client/package-lock.json ./packages/bitcore-wallet-client/package-lock.json

COPY ./packages/bitcore-wallet-service/package.json ./packages/bitcore-wallet-service/package.json
COPY ./packages/bitcore-wallet-service/package-lock.json ./packages/bitcore-wallet-service/package-lock.json
# COPY ./packages/bitcore-wallet-service/package.json ./packages/bitcore-wallet-service/package.json
# COPY ./packages/bitcore-wallet-service/package-lock.json ./packages/bitcore-wallet-service/package-lock.json

COPY ./packages/crypto-wallet-core/package.json ./packages/crypto-wallet-core/package.json
COPY ./packages/crypto-wallet-core/package-lock.json ./packages/crypto-wallet-core/package-lock.json
# COPY ./packages/crypto-wallet-core/package.json ./packages/crypto-wallet-core/package.json
# COPY ./packages/crypto-wallet-core/package-lock.json ./packages/crypto-wallet-core/package-lock.json

COPY ./packages/bitcore-lib-ltc/package.json ./packages/bitcore-lib-ltc/package.json
COPY ./packages/bitcore-lib-ltc/package-lock.json ./packages/bitcore-lib-ltc/package-lock.json
# COPY ./packages/bitcore-lib-ltc/package.json ./packages/bitcore-lib-ltc/package.json
# COPY ./packages/bitcore-lib-ltc/package-lock.json ./packages/bitcore-lib-ltc/package-lock.json

COPY ./packages/bitcore-lib-doge/package.json ./packages/bitcore-lib-doge/package.json
COPY ./packages/bitcore-lib-doge/package-lock.json ./packages/bitcore-lib-doge/package-lock.json
# COPY ./packages/bitcore-lib-doge/package.json ./packages/bitcore-lib-doge/package.json
# COPY ./packages/bitcore-lib-doge/package-lock.json ./packages/bitcore-lib-doge/package-lock.json

COPY ./packages/bitcore-p2p-doge/package.json ./packages/bitcore-p2p-doge/package.json
COPY ./packages/bitcore-p2p-doge/package-lock.json ./packages/bitcore-p2p-doge/package-lock.json
# COPY ./packages/bitcore-p2p-doge/package.json ./packages/bitcore-p2p-doge/package.json
# COPY ./packages/bitcore-p2p-doge/package-lock.json ./packages/bitcore-p2p-doge/package-lock.json


RUN npm install --ignore-scripts
RUN npm run bootstrap
# RUN npm install --ignore-scripts
# RUN npm run bootstrap
# ADD . .
# RUN npm run compile

ADD . .
RUN npm run compile
RUN npm ci
5 changes: 4 additions & 1 deletion bitcore-test.config.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
/* eslint-disable @typescript-eslint/no-require-imports */

const fs = require('fs');
const testConfig = require('./bitcore-test.config.json');

testConfig.bitcoreNode.chains.BTC.regtest.trustedPeers[0].host = 'bitcoin';
Expand All @@ -20,4 +23,4 @@ testConfig.bitcoreNode.chains.XRP.testnet.provider.host = 'rippled';
testConfig.bitcoreNode.chains.XRP.testnet.provider.port = 6006;
testConfig.bitcoreNode.chains.XRP.testnet.provider.dataHost = 'rippled';

module.exports = testConfig;
fs.writeFileSync('./bitcore-test.local.config.json', JSON.stringify(testConfig, null, 2));
26 changes: 25 additions & 1 deletion ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,23 @@
# NOTE: The CI used to use this but it doesn't anymore because the CI pipeline started timing out. We moved most of the CI pipeline logic to the .circleci/config.yml file
# This is still useful for local testing, though.

for arg in "$@"; do
if [ "$arg" == "--help" ] || [ "$arg" == "-h" ]; then
echo "Usage: $0 <build|local|down> [build: ci|local | local: <command>|chains]"
echo " build: Builds the Docker images. Optionally specify 'ci' or 'local' to build with the respective docker-compose files (defaults to 'ci')."
echo " local: Runs a command in the test_runner container using the local docker-compose configuration. The second argument is the command to run."
echo " down: Shuts down the local test environment and removes volumes."
echo ""
echo "Examples:"
echo " $0 build ci # Builds the Docker images for CI environment"
echo " $0 build local # Builds the Docker images for local environment"
echo " $0 local 'npm run ci:bitcore-node' # Runs 'npm run ci:bitcore-node' in the test_runner container using local configuration"
echo " $0 local chains # Starts the local test environment with all chains"
echo " $0 down # Shuts down the local test environment and removes volumes"
exit 0
fi
done

if [ "$1" == "build" ]; then
env="$2"
if [ -z $2 ]; then
Expand All @@ -16,9 +33,16 @@ if [ "$1" == "build" ]; then
echo "Unknown environment '$env'. Expected 'ci' or 'local'."
fi
elif [ "$1" = "local" ]; then
docker compose -f docker-compose.test.base.yml -f docker-compose.test.local.yml run --entrypoint "$1" test_runner
node bitcore-test.config.js
if [ "$2" = "chains" ]; then
docker compose -f docker-compose.test.base.yml -f docker-compose.test.ci.yml up -d
else
docker compose -f docker-compose.test.base.yml -f docker-compose.test.local.yml run --entrypoint "$2" test_runner
fi
elif [ "$1" = "down" ]; then
docker compose -f docker-compose.test.base.yml -f docker-compose.test.local.yml down -v
docker container rm $(docker container ls -qa --filter name=bitcore-test_runner-run-*) &>/dev/null
docker rmi bitcore-test_runner:latest
else
echo "Missing expected parameter. The first parameter should be 'build', 'local', or 'down'."
fi
4 changes: 3 additions & 1 deletion docker-compose.test.local.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ services:
build:
context: .
dockerfile: Dockerfile
volumes:
- .:/bitcore
ports:
- 8100:8100
- 3000:3000
environment:
- DB_HOST=db
- DB_NAME=bitcore-test
- BITCORE_CONFIG_PATH=../../../../bitcore-test.config.js
- BITCORE_CONFIG_PATH=/bitcore/bitcore-test.local.config.json
depends_on:
- db
- bitcoin
Expand Down
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
services:
database:
image: mongo:3.4-jessie
image: mongo:3.6.23-jessie
ports:
- 27017:27017
volumes:
Expand Down