Skip to content

Commit

Permalink
feat(deployment): include short loadgen test in CI
Browse files Browse the repository at this point in the history
  • Loading branch information
mhofman committed Jan 8, 2022
1 parent 9aab4df commit d297cfb
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 3 deletions.
41 changes: 38 additions & 3 deletions .github/workflows/deployment-test.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Chain deployment test

on:
# Use the following to explicitly start thit workflow.
# Use the following to explicitly start this workflow.
# packages/deployment/scripts/start-deployment-test.sh <BRANCH-OR-TAG>
workflow_dispatch:
# Otherwise, run on default branch.
Expand All @@ -21,12 +21,47 @@ jobs:
- uses: ./.github/actions/restore-node
with:
node-version: 14.x
- name: Build cosmic-swingset dependencies

# Select a branch on loadgen to test against by adding text to the body of the
# pull request. For example: #loadgen-branch: user-123-update-foo
# The default is 'main'
- name: Get the appropriate loadgen branch
id: get-loadgen-branch
uses: actions/github-script@0.9.0
with:
result-encoding: string
script: |
let branch = 'main';
if (context.payload.pull_request) {
const { body } = context.payload.pull_request;
const regex = /.*\#loadgen-branch:\s+(\S+)/;
const result = regex.exec(body);
if (result) {
branch = result[1];
}
}
console.log(branch);
return branch;
- name: Check out loadgen
uses: actions/checkout@v2
with:
repository: Agoric/testnet-load-generator
path: testnet-load-generator
ref: ${{steps.get-loadgen-branch.outputs.result}}

- name: Move repos under /usr/src where scripts expect them
run: |
# Some of our build relies on /usr/src/agoric-sdk
set -e
sudo mv "$GITHUB_WORKSPACE/testnet-load-generator" /usr/src/testnet-load-generator
sudo mv "$GITHUB_WORKSPACE" /usr/src/agoric-sdk
ln -s /usr/src/agoric-sdk "$GITHUB_WORKSPACE"
working-directory: /

- name: Build cosmic-swingset dependencies
run: |
# Some of our build relies on /usr/src/agoric-sdk
set -e
cd /usr/src/agoric-sdk/packages/cosmic-swingset
make install
working-directory: /
Expand Down
24 changes: 24 additions & 0 deletions packages/deployment/scripts/integration-test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ thisdir=$(cd "$(dirname -- "$real0")" > /dev/null && pwd -P)

export NETWORK_NAME=${NETWORK_NAME-localtest}

RESULTSDIR=${RESULTSDIR-"$NETWORK_NAME/results"}
mkdir -p "$RESULTSDIR"
pushd "$RESULTSDIR"
RESULTSDIR="$PWD"
popd

mkdir -p "$NETWORK_NAME/setup"
cd "$NETWORK_NAME/setup"

Expand All @@ -21,3 +27,21 @@ DOCKER_VOLUMES="$(cd "$thisdir/../../.." > /dev/null && pwd -P):/usr/src/agoric-
# Go ahead and bootstrap with detailed debug logging.
AG_COSMOS_START_ARGS="--log_level=info --trace-store=.ag-chain-cosmos/data/kvstore.trace" \
"$thisdir/setup.sh" bootstrap ${1+"$@"}

if [ -d /usr/src/testnet-load-generator ]
then
/usr/src/agoric-sdk/packages/deployment/scripts/setup.sh show-config > "$RESULTSDIR/network-config"
cp ag-chain-cosmos/data/genesis.json "$RESULTSDIR/genesis.json"
cp "$AG_SETUP_COSMOS_HOME/ag-chain-cosmos/data/genesis.json" "$RESULTSDIR/genesis.json"
cd /usr/src/testnet-load-generator
$thisdir/../../solo/bin/ag-solo init \
_agstate/agoric-servers/testnet-8000 \
--webport=8000 \
--netconfig="$RESULTSDIR/network-config"
$AG_SETUP_COSMOS_HOME/faucet-helper.sh add-egress \
loadgen $(cat _agstate/agoric-servers/testnet-8000/ag-cosmos-helper-address)
SDK_BUILD=0 SDK_SRC=/usr/src/agoric-sdk OUTPUT_DIR="$RESULTSDIR" ./start.sh \
--no-stage.save-storage --stages=3 --stage.duration=3 \
--profile=testnet "--testnet-origin=file://$RESULTSDIR" \
--no-reset
fi

0 comments on commit d297cfb

Please sign in to comment.