-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use readline in place of process.stdout (#654)
* use readline in place of process.stdout * add test for CI deployment * remove redundant CI task * test: bring back skipped test Bring back the default sender test that previously failed due to tty issues. * test: update test text --------- Co-authored-by: John Kane <john@kanej.me>
- Loading branch information
Showing
7 changed files
with
95 additions
and
14 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
packages/core/test-integrations/fixture-projects/ci-success/contracts/Lock.sol
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
// SPDX-License-Identifier: UNLICENSED | ||
pragma solidity ^0.8.9; | ||
|
||
// Uncomment this line to use console.log | ||
// import "hardhat/console.sol"; | ||
|
||
contract Lock { | ||
uint public unlockTime; | ||
address payable public owner; | ||
|
||
event Withdrawal(uint amount, uint when); | ||
|
||
constructor(uint _unlockTime) payable { | ||
require( | ||
block.timestamp < _unlockTime, | ||
"Unlock time should be in the future" | ||
); | ||
|
||
unlockTime = _unlockTime; | ||
owner = payable(msg.sender); | ||
} | ||
|
||
function withdraw() public { | ||
// Uncomment this line, and the import of "hardhat/console.sol", to print a log in your terminal | ||
// console.log("Unlock time is %o and block timestamp is %o", unlockTime, block.timestamp); | ||
|
||
require(block.timestamp >= unlockTime, "You can't withdraw yet"); | ||
require(msg.sender == owner, "You aren't the owner"); | ||
|
||
emit Withdrawal(address(this).balance, block.timestamp); | ||
|
||
owner.transfer(address(this).balance); | ||
} | ||
} |
14 changes: 14 additions & 0 deletions
14
packages/core/test-integrations/fixture-projects/ci-success/hardhat.config.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
require("@nomicfoundation/hardhat-ignition"); | ||
|
||
/** @type import('hardhat/config').HardhatUserConfig */ | ||
module.exports = { | ||
solidity: { | ||
version: "0.8.19", | ||
settings: { | ||
metadata: { | ||
// We disable the metadata to keep the fixtures more stables | ||
appendCBOR: false, | ||
}, | ||
}, | ||
}, | ||
}; |
18 changes: 18 additions & 0 deletions
18
packages/core/test-integrations/fixture-projects/ci-success/ignition/modules/LockModule.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
const { buildModule } = require("@nomicfoundation/hardhat-ignition/modules"); | ||
|
||
const currentTimestampInSeconds = Math.round(new Date(2023, 0, 1) / 1000); | ||
const TEN_YEAR_IN_SECS = 10 * 365 * 24 * 60 * 60; | ||
const TEN_YEARS_IN_FUTURE = currentTimestampInSeconds + TEN_YEAR_IN_SECS; | ||
|
||
const ONE_GWEI = 1_000_000_000n; | ||
|
||
module.exports = buildModule("LockModule", (m) => { | ||
const unlockTime = m.getParameter("unlockTime", TEN_YEARS_IN_FUTURE); | ||
const lockedAmount = m.getParameter("lockedAmount", ONE_GWEI); | ||
|
||
const lock = m.contract("Lock", [unlockTime], { | ||
value: lockedAmount, | ||
}); | ||
|
||
return { lock }; | ||
}); |
23 changes: 23 additions & 0 deletions
23
packages/core/test-integrations/new-api/ci/basic-success.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
import { assert } from "chai"; | ||
|
||
import { useHardhatProject } from "../../helpers/hardhat-projects"; | ||
|
||
// This test exists to ensure Ignition succeeds in a CI environment. | ||
// This is a test that the UI, runs even in constrained terminal environments. | ||
// It should always pass locally. | ||
describe("Running deployment in CI environment", function () { | ||
this.timeout(60000); | ||
|
||
useHardhatProject("ci-success"); | ||
|
||
it("should succeed with UI in a CI environment", async function () { | ||
await assert.isFulfilled( | ||
this.hre.run( | ||
{ scope: "ignition", task: "deploy" }, | ||
{ | ||
modulePath: "./ignition/modules/LockModule.js", | ||
} | ||
) | ||
); | ||
}); | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters