Add force rebuild option #329
| @ -36,13 +36,16 @@ from .util import include_exclude_check, get_parsed_stack_config | ||||
| @click.command() | ||||
| @click.option('--include', help="only build these containers") | ||||
| @click.option('--exclude', help="don\'t build these containers") | ||||
| @click.option("--force-rebuild", is_flag=True, default=False, help="Override dependency checking -- always rebuild") | ||||
| @click.option("--extra-build-args", help="Supply extra arguments to build") | ||||
| @click.pass_context | ||||
| def command(ctx, include, exclude): | ||||
| def command(ctx, include, exclude, force_rebuild, extra_build_args): | ||||
|     '''build the set of containers required for a complete stack''' | ||||
| 
 | ||||
|     quiet = ctx.obj.quiet | ||||
|     verbose = ctx.obj.verbose | ||||
|     dry_run = ctx.obj.dry_run | ||||
|     debug = ctx.obj.debug | ||||
|     local_stack = ctx.obj.local_stack | ||||
|     stack = ctx.obj.stack | ||||
|     continue_on_error = ctx.obj.continue_on_error | ||||
| @ -84,10 +87,14 @@ def command(ctx, include, exclude): | ||||
|         "CERC_NPM_URL": "http://gitea.local:3000/api/packages/cerc-io/npm/", | ||||
|         "CERC_NPM_AUTH_TOKEN": config("CERC_NPM_AUTH_TOKEN", default="<token-not-supplied>"), | ||||
|         "CERC_REPO_BASE_DIR": dev_root_path, | ||||
|         "CERC_CONTAINER_BASE_DIR": container_build_dir, | ||||
|         "CERC_HOST_UID": f"{os.getuid()}", | ||||
|         "CERC_HOST_GID": f"{os.getgid()}", | ||||
|         "DOCKER_BUILDKIT": "0" | ||||
|     } | ||||
|     container_build_env.update({"CERC_SCRIPT_DEBUG": "true"} if debug else {}) | ||||
|     container_build_env.update({"CERC_FORCE_REBUILD": "true"} if force_rebuild else {}) | ||||
|     container_build_env.update({"CERC_CONTAINER_EXTRA_BUILD_ARGS": extra_build_args} if extra_build_args else {}) | ||||
| 
 | ||||
|     def process_container(container): | ||||
|         if not quiet: | ||||
|  | ||||
| @ -33,8 +33,10 @@ builder_js_image_name = "cerc/builder-js:local" | ||||
| @click.command() | ||||
| @click.option('--include', help="only build these packages") | ||||
| @click.option('--exclude', help="don\'t build these packages") | ||||
| @click.option("--force-rebuild", is_flag=True, default=False, help="Override existing target package version check -- force rebuild") | ||||
| @click.option("--extra-build-args", help="Supply extra arguments to build") | ||||
| @click.pass_context | ||||
| def command(ctx, include, exclude): | ||||
| def command(ctx, include, exclude, force_rebuild, extra_build_args): | ||||
|     '''build the set of npm packages required for a complete stack''' | ||||
| 
 | ||||
|     quiet = ctx.obj.quiet | ||||
| @ -123,6 +125,8 @@ def command(ctx, include, exclude): | ||||
|                     "LACONIC_HOSTED_CONFIG_FILE": "config-hosted.yml" # Convention used by our web app packages | ||||
|                     } | ||||
|             envs.update({"CERC_SCRIPT_DEBUG": "true"} if debug else {}) | ||||
|             envs.update({"CERC_FORCE_REBUILD": "true"} if force_rebuild else {}) | ||||
|             envs.update({"CERC_CONTAINER_EXTRA_BUILD_ARGS": extra_build_args} if extra_build_args else {}) | ||||
|             try: | ||||
|                 docker.run(builder_js_image_name, | ||||
|                            remove=True, | ||||
|  | ||||
							
								
								
									
										13
									
								
								app/data/container-build/build-base.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								app/data/container-build/build-base.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,13 @@ | ||||
| # source'ed into container build scripts to do generic command setup | ||||
| if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then | ||||
|     set -x | ||||
|     echo "Build environment variables:" | ||||
|     env | ||||
| fi | ||||
| build_command_args="" | ||||
| if [[ ${CERC_FORCE_REBUILD} == "true" ]]; then | ||||
|     build_command_args="${build_command_args} --no-cache" | ||||
| fi | ||||
| if [[ -n "$CERC_CONTAINER_EXTRA_BUILD_ARGS" ]]; then | ||||
|     build_command_args="${build_command_args} ${CERC_CONTAINER_EXTRA_BUILD_ARGS}" | ||||
| fi | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build a local version of the task executor for act-runner | ||||
| docker build -t cerc/act-runner-task-executor:local -f ${CERC_REPO_BASE_DIR}/hosting/gitea/Dockerfile.task-executor ${CERC_REPO_BASE_DIR}/hosting | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/act-runner-task-executor:local -f ${CERC_REPO_BASE_DIR}/hosting/gitea/Dockerfile.task-executor ${build_command_args} ${CERC_REPO_BASE_DIR}/hosting | ||||
|  | ||||
| @ -1,3 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| # Build a local version of the act-runner image | ||||
| docker build -t cerc/act-runner:local -f ${CERC_REPO_BASE_DIR}/act_runner/Dockerfile ${CERC_REPO_BASE_DIR}/act_runner | ||||
| # TODO: enhance the default build code path to cope with this container (repo has an _ which needs to be converted to - in the image tag) | ||||
| docker build -t cerc/act-runner:local -f ${CERC_REPO_BASE_DIR}/act_runner/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/act_runner | ||||
|  | ||||
| @ -25,13 +25,22 @@ local_npm_registry_url=$1 | ||||
| npm config set @cerc-io:registry ${local_npm_registry_url} | ||||
| npm config set @lirewine:registry ${local_npm_registry_url} | ||||
| npm config set @muknsys:registry ${local_npm_registry_url} | ||||
| npm config set -- ${local_npm_registry_url}:_authToken ${CERC_NPM_AUTH_TOKEN} | ||||
| # Workaround bug in npm unpublish where it needs the url to be of the form //<foo> and not http://<foo> | ||||
| local_npm_registry_url_fixed=$( echo ${local_npm_registry_url} | sed -e 's/^http[s]\{0,1\}://') | ||||
| npm config set -- ${local_npm_registry_url_fixed}:_authToken ${CERC_NPM_AUTH_TOKEN} | ||||
| # First check if the version of this package we're trying to build already exists in the registry | ||||
| package_exists=$( yarn info --json ${package_name}@${package_publish_version} 2>/dev/null | jq -r .data.dist.tarball ) | ||||
| if [[ ! -z "$package_exists" && "$package_exists" != "null" ]]; then | ||||
|     echo "${package_publish_version} of ${package_name} already exists in the registry, skipping build" | ||||
|     echo "${package_publish_version} of ${package_name} already exists in the registry" | ||||
|     if [[ ${CERC_FORCE_REBUILD} == "true" ]]; then | ||||
|         # Attempt to unpublish the existing package | ||||
|         echo "NOTE: unpublishing existing package version since force rebuild is enabled" | ||||
|         npm unpublish --force ${package_name}@${package_publish_version} | ||||
|     else | ||||
|         echo "skipping build since target version already exists" | ||||
|         exit 0 | ||||
|     fi | ||||
| fi | ||||
| echo "Build and publish ${package_name} version ${package_publish_version}" | ||||
| yarn install | ||||
| yarn build | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/eth-probe | ||||
| docker build -t cerc/eth-probe:local ${CERC_REPO_BASE_DIR}/eth-probe | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/eth-probe:local ${build_command_args} ${CERC_REPO_BASE_DIR}/eth-probe | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/eth-statediff-fill-service | ||||
| docker build -t cerc/eth-statediff-fill-service:local ${CERC_REPO_BASE_DIR}/eth-statediff-fill-service | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/eth-statediff-fill-service:local ${build_command_args} ${CERC_REPO_BASE_DIR}/eth-statediff-fill-service | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/eth-statediff-service | ||||
| docker build -t cerc/eth-statediff-service:local ${CERC_REPO_BASE_DIR}/eth-statediff-service | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/eth-statediff-service:local ${build_command_args} ${CERC_REPO_BASE_DIR}/eth-statediff-service | ||||
|  | ||||
| @ -1,6 +1,8 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/fixturenet-eth-geth | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/fixturenet-eth-geth:local -f ${SCRIPT_DIR}/Dockerfile $SCRIPT_DIR | ||||
| docker build -t cerc/fixturenet-eth-geth:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} $SCRIPT_DIR | ||||
|  | ||||
| @ -1,6 +1,8 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/fixturenet-eth-lighthouse | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/fixturenet-eth-lighthouse:local -f ${SCRIPT_DIR}/Dockerfile $SCRIPT_DIR | ||||
| docker build -t cerc/fixturenet-eth-lighthouse:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} $SCRIPT_DIR | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build a local version of the foundry-rs/foundry image | ||||
| docker build -t cerc/foundry:local -f ${CERC_REPO_BASE_DIR}/foundry/Dockerfile-debian ${CERC_REPO_BASE_DIR}/foundry | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/foundry:local -f ${CERC_REPO_BASE_DIR}/foundry/Dockerfile-debian ${build_command_args} ${CERC_REPO_BASE_DIR}/foundry | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/go-ethereum-foundry | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/go-ethereum-foundry:local --build-arg GENESIS_FILE_PATH=genesis-automine.json ${SCRIPT_DIR} | ||||
| docker build -t cerc/go-ethereum-foundry:local --build-arg GENESIS_FILE_PATH=genesis-automine.json ${build_command_args} ${SCRIPT_DIR} | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/go-ethereum | ||||
| docker build -t cerc/go-ethereum:local ${CERC_REPO_BASE_DIR}/go-ethereum | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/go-ethereum:local ${build_command_args} ${CERC_REPO_BASE_DIR}/go-ethereum | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/ipld-eth-beacon-db | ||||
| docker build -t cerc/ipld-eth-beacon-db:local ${CERC_REPO_BASE_DIR}/ipld-eth-beacon-db | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/ipld-eth-beacon-db:local ${build_command_args} ${build_command_args} ${CERC_REPO_BASE_DIR}/ipld-eth-beacon-db | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/ipld-eth-beacon-indexer | ||||
| docker build -t cerc/ipld-eth-beacon-indexer:local ${CERC_REPO_BASE_DIR}/ipld-eth-beacon-indexer | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/ipld-eth-beacon-indexer:local ${build_command_args} ${CERC_REPO_BASE_DIR}/ipld-eth-beacon-indexer | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/ipld-eth-db | ||||
| docker build -t cerc/ipld-eth-db:local ${CERC_REPO_BASE_DIR}/ipld-eth-db | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/ipld-eth-db:local ${build_command_args} ${CERC_REPO_BASE_DIR}/ipld-eth-db | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/ipld-eth-server | ||||
| docker build -t cerc/ipld-eth-server:local ${CERC_REPO_BASE_DIR}/ipld-eth-server | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/ipld-eth-server:local ${build_command_args} ${CERC_REPO_BASE_DIR}/ipld-eth-server | ||||
|  | ||||
| @ -2,7 +2,9 @@ | ||||
| # | ||||
| #Build cerc/keycloack | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/keycloak:local ${SCRIPT_DIR} | ||||
| docker build -t cerc/keycloak:local ${build_command_args} ${SCRIPT_DIR} | ||||
|  | ||||
| @ -1,9 +1,11 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/laconic-registry-cli | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/laconic-console-host:local -f ${SCRIPT_DIR}/Dockerfile \ | ||||
| docker build -t cerc/laconic-console-host:local ${build_command_args} -f ${SCRIPT_DIR}/Dockerfile \ | ||||
|   --add-host gitea.local:host-gateway \ | ||||
|   --build-arg CERC_NPM_AUTH_TOKEN --build-arg CERC_NPM_URL ${SCRIPT_DIR} | ||||
|  | ||||
| @ -1,9 +1,11 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/laconic-registry-cli | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/laconic-registry-cli:local -f ${SCRIPT_DIR}/Dockerfile \ | ||||
| docker build -t cerc/laconic-registry-cli:local ${build_command_args} -f ${SCRIPT_DIR}/Dockerfile \ | ||||
|   --add-host gitea.local:host-gateway \ | ||||
|   --build-arg CERC_NPM_AUTH_TOKEN --build-arg CERC_NPM_URL ${SCRIPT_DIR} | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/chiba-clonk | ||||
| docker build -t cerc/laconicd:local ${CERC_REPO_BASE_DIR}/laconicd | ||||
| # Build cerc/laconicd | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/laconicd:local ${build_command_args} ${CERC_REPO_BASE_DIR}/laconicd | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/lighthouse | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/lighthouse:local ${SCRIPT_DIR} | ||||
| docker build -t cerc/lighthouse:local ${build_command_args} ${SCRIPT_DIR} | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/mobymask-ui | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/mobymask-ui:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/mobymask-ui | ||||
| docker build -t cerc/mobymask-ui:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/mobymask-ui | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/mobymask | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/mobymask:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/MobyMask | ||||
| docker build -t cerc/mobymask:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/MobyMask | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/optimism-contracts | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/optimism-contracts:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/optimism | ||||
| docker build -t cerc/optimism-contracts:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/optimism | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/optimism-l2geth | ||||
| docker build -t cerc/optimism-l2geth:local ${CERC_REPO_BASE_DIR}/op-geth | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/optimism-l2geth:local ${build_command_args} ${CERC_REPO_BASE_DIR}/op-geth | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/optimism-op-batcher | ||||
| # TODO: use upstream Dockerfile once its buildx-specific content has been removed | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| docker build -t cerc/optimism-op-batcher:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/optimism | ||||
| docker build -t cerc/optimism-op-batcher:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/optimism | ||||
|  | ||||
| @ -1,5 +1,6 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/optimism-op-node | ||||
| # TODO: use upstream Dockerfile once its buildx-specific content has been removed | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| docker build -t cerc/optimism-op-node:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/optimism | ||||
| docker build -t cerc/optimism-op-node:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/optimism | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/react-peer | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/react-peer:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/react-peer | ||||
| docker build -t cerc/react-peer:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/react-peer | ||||
|  | ||||
| @ -1,4 +1,5 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/test-container | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| docker build -t cerc/test-container:local -f ${SCRIPT_DIR}/Dockerfile $SCRIPT_DIR | ||||
| docker build -t cerc/test-container:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} $SCRIPT_DIR | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/test-contract | ||||
| docker build -t cerc/test-contract:local --build-arg ETH_ADDR=http://go-ethereum:8545 ${CERC_REPO_BASE_DIR}/ipld-eth-db-validator/test/contract | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/test-contract:local --build-arg ETH_ADDR=http://go-ethereum:8545 ${build_command_args} ${CERC_REPO_BASE_DIR}/ipld-eth-db-validator/test/contract | ||||
|  | ||||
| @ -1,3 +1,4 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/tx-spammer | ||||
| docker build -t cerc/tx-spammer:local ${CERC_REPO_BASE_DIR}/tx-spammer | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| docker build -t cerc/tx-spammer:local ${build_command_args} ${CERC_REPO_BASE_DIR}/tx-spammer | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/uniswap-v3-info | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/uniswap-v3-info:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/uniswap-v3-info | ||||
| docker build -t cerc/uniswap-v3-info:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/uniswap-v3-info | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/watcher-erc20 | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/watcher-erc20:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
| docker build -t cerc/watcher-erc20:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/watcher-erc721 | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/watcher-erc721:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
| docker build -t cerc/watcher-erc721:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/watcher-mobymask-v2 | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/watcher-mobymask-v2:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
| docker build -t cerc/watcher-mobymask-v2:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
|  | ||||
| @ -1,9 +1,11 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/watcher-mobymask | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/watcher-mobymask:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
| docker build -t cerc/watcher-mobymask:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/watcher-ts | ||||
| 
 | ||||
| # TODO: add a mechanism to pass two repos into a container rather than the parent directory | ||||
|  | ||||
| @ -1,7 +1,9 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Build cerc/watcher-uniswap-v3 | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| # See: https://stackoverflow.com/a/246128/1701505 | ||||
| SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) | ||||
| 
 | ||||
| docker build -t cerc/watcher-uniswap-v3:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/uniswap-watcher-ts | ||||
| docker build -t cerc/watcher-uniswap-v3:local -f ${SCRIPT_DIR}/Dockerfile ${build_command_args} ${CERC_REPO_BASE_DIR}/uniswap-watcher-ts | ||||
|  | ||||
| @ -1,14 +1,13 @@ | ||||
| #!/usr/bin/env bash | ||||
| # Usage: default-build.sh <image-tag> [<repo-relative-path>] | ||||
| # if <repo-relative-path> is not supplied, the context is the directory where the Dockerfile lives | ||||
| if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then | ||||
|     set -x | ||||
| fi | ||||
| 
 | ||||
| source ${CERC_CONTAINER_BASE_DIR}/build-base.sh | ||||
| 
 | ||||
| if [[ $# -ne 2 ]]; then | ||||
|     echo "Illegal number of parameters" >&2 | ||||
|     exit 1 | ||||
| fi | ||||
| image_tag=$1 | ||||
| build_dir=$2 | ||||
| echo "Building ${image_tag} in ${build_dir}" | ||||
| docker build -t ${image_tag} --build-arg CERC_HOST_UID=${CERC_HOST_UID} --build-arg CERC_HOST_GID=${CERC_HOST_GID} ${build_dir} | ||||
| docker build -t ${image_tag} ${build_command_args} --build-arg CERC_HOST_UID=${CERC_HOST_UID} --build-arg CERC_HOST_GID=${CERC_HOST_GID} ${build_dir} | ||||
|  | ||||
							
								
								
									
										45
									
								
								docs/cli.md
									
									
									
									
									
								
							
							
						
						
									
										45
									
								
								docs/cli.md
									
									
									
									
									
								
							| @ -1,3 +1,48 @@ | ||||
| # laconic-so | ||||
| 
 | ||||
| Sub-commands and flags | ||||
| 
 | ||||
| ## build-containers | ||||
| 
 | ||||
| Build a single container: | ||||
| ``` | ||||
| $ laconic-so build-containers --include <container-name> | ||||
| ``` | ||||
| e.g. | ||||
| ``` | ||||
| $ laconic-so build-containers --include cerc/go-ethereum | ||||
| ``` | ||||
| Build the containers for a stack: | ||||
| ``` | ||||
| $ laconic-so --stack <stack-name> build-containers | ||||
| ``` | ||||
| e.g. | ||||
| ``` | ||||
| $ laconic-so --stack fixturenet-eth build-containers | ||||
| ``` | ||||
| Force full rebuild of container images: | ||||
| ``` | ||||
| $ laconic-so build-containers --include <container-name> --force-rebuild | ||||
| ``` | ||||
| ## build-npms | ||||
| 
 | ||||
| Build a single package: | ||||
| ``` | ||||
| $ laconic-so build-npms --include <package-name> | ||||
| ``` | ||||
| e.g. | ||||
| ``` | ||||
| $ laconic-so build-npms --include laconic-sdk | ||||
| ``` | ||||
| Build the packages for a stack: | ||||
| ``` | ||||
| $ laconic-so --stack <stack-name> build-npms | ||||
| ``` | ||||
| e.g. | ||||
| ``` | ||||
| $ laconic-so --stack fixturenet-laconicd build-npms | ||||
| ``` | ||||
| Force full rebuild of packages: | ||||
| ``` | ||||
| $ laconic-so build-npms --include <package-name> --force-rebuild | ||||
| ``` | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user