From b505dcc4403a95d207429a22a173ec7294192abd Mon Sep 17 00:00:00 2001 From: Ansab Gillani Date: Tue, 14 May 2024 20:43:58 +0200 Subject: [PATCH] feat: Add Getting Started Test to the pipeline --- .github/workflows/test-getting-started.yml | 57 ++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/test-getting-started.yml diff --git a/.github/workflows/test-getting-started.yml b/.github/workflows/test-getting-started.yml new file mode 100644 index 0000000000..20a87ad20d --- /dev/null +++ b/.github/workflows/test-getting-started.yml @@ -0,0 +1,57 @@ +name: Test the getting start steps + +# run CI on pushes to main, and on all PRs (even the ones that target other +# branches) + +on: + push: + branches: [$default-branch] + pull_request: + +jobs: + getting_started: + runs-on: ubuntu-latest + steps: + - name: Use Node.js 18 + uses: actions/setup-node@v4 + with: + node-version: "18" + - name: Creating Your Dapp From a Template + run: yarn create @agoric/dapp demo + - name: Change directory + run: cd demo + - name: yarn install + run: yarn + - name: yarn start:docker + run: yarn start:docker + - name: yarn docker:logs + run: yarn docker:logs + - name: yarn build + run: yarn build + # Borrowed from https://github.com/DCFoundation/cosmos-proposal-builder/blob/main/.github/workflows/pr.yml#L43-L61 + - name: Wait for Docker container to be ready + run: | + timeout 300 bash -c ' + TARGET_HEIGHT=1111 + SLEEP=10 + echo "Waiting for the Agoric service to be fully ready..." + echo "Target block height: $TARGET_HEIGHT" + while true; do + response=$(curl --silent http://localhost:26657/abci_info); + height=$(echo $response | jq -r ".result.response.last_block_height | tonumber"); + if [ "$height" -ge $TARGET_HEIGHT ]; then + echo "Service is ready! Last block height: $height"; + break; + else + echo "Waiting for last block height to reach $TARGET_HEIGHT. Current height: $height"; + fi; + sleep $SLEEP; + done + ' + - name: yarn start:contract + run: yarn start:contract + - name: verify contracts started onchain + run: | + curl http://localhost:1317/agoric/vstorage/data/published.agoricNames.instance | grep sellConcertTickets + curl http://localhost:1317/agoric/vstorage/data/published.agoricNames.instance | grep swaparoo + curl http://localhost:1317/agoric/vstorage/data/published.agoricNames.instance | grep postalService