hindley-milner-systems / dapp-ertp-airdrop

0 stars 2 forks source link

Deployment Test #31

Closed tgrecojs closed 1 month ago

tgrecojs commented 7 months ago

Task: Add a deployment test that exercises the core-eval that will be used to install & start the contract on chain.

Purpose: This is an end-to-end test that exercises critical deployment functionality not easily tested via unit testing or simpler integration tests.

Instructions: OpCo recommends extending the docker-upgrade tests that were used for MN-1b release.

See How to do end-to-end test of permissioned deployment? · #8173

linear[bot] commented 7 months ago

LAR-86 Deployment Test

dckc commented 7 months ago

I recently wrote some relevant docs:

dckc commented 2 months ago

93 says that Deployment Test is done, citing test/tribbles-airdrop/contract.test.js

Is that an end-to-end test where deployment is done by submitting transactions to a running blockchain? It doesn't look like it. But maybe I'm missing something. Is there a ci log where I could see logs of it running?

The checklist says:

This is an end-to-end test that exercises critical deployment functionality not easily tested via unit testing or simpler integration tests.

For discussion and examples of how to use our docker-based test tooling, see:

tgrecojs commented 2 months ago

@dckc this was one of the issues that broke with new changes.

can you take a look at the following areas when you have a moment?

1. test/tribbles-airdrop/airdrop.contract.test

2. deployment process (yarn run start:contract from top-level)

  NOT MINTING 100IST
  installing airdrop b1-1c0ff 1.528 Mb
  (Error#1)
  Error#1: spawnSync docker ENOENT
dckc commented 2 months ago
  1. deployment process ... Error#1: spawnSync docker ENOENT

That means docker isn't installed... or at least: it's not in $PATH.

dckc commented 2 months ago
  1. test/tribbles-airdrop/airdrop.contract.test

Elaborate on what you want me to look at, please? Is there a problem? What are the symptoms? What are the steps to reproduce?

For example, is there a ci log showing a failure?

dckc commented 1 month ago

A Sep 10 ci log shows tests such as

2024-09-10T21:19:17.7808608Z   ✔ tribbles-airdrop › e2e › deploy contract with core eval: airdrop / airdrop

That seems to be running on a simulated chain: $E2E seems to be false, so we get mock tools: https://github.com/hindley-milner-systems/dapp-ertp-airdrop/blob/9e8b40ea89b59a92159edec3895cec2535b6d301/contract/test/tribbles-airdrop/e2e.test.js#L81-L89

But that test does provide some evidence that deployment is working, and an Oct 9 demo showed no issues when integrating with a running chain.

So perhaps you want to close this?

tgrecojs commented 1 month ago

ok, closed.

i added a comment in #110 regarding my recent development process taking place inside my copy of the agoric-sdk. it's far from perfect, but i spent many many hours trying to recreate multichain-testing environment within this repo and all i got was headache and heartache 😢

dckc commented 1 month ago

How is multi-chain testing relevant?

It seems like dapp-agoric-basics or even dapp-offer-up would have the relevant deployment testing infrastructure.