Skip to content

Commit

Permalink
try please ci
Browse files Browse the repository at this point in the history
  • Loading branch information
dvush committed Apr 14, 2020
1 parent 5ca9627 commit 0931df7
Show file tree
Hide file tree
Showing 11 changed files with 583 additions and 571 deletions.
20 changes: 12 additions & 8 deletions .drone.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ steps:
restore: true
mount:
- ./target/cargo
- ./keys
- ./keys/setup
- name: init
image: matterlabs/ci
commands:
Expand All @@ -37,6 +37,8 @@ steps:
- zksync yarn
- zksync db-wait
- zksync db-setup
- zksync plonk-setup check || zksync plonk-setup download
- zksync verify-keys unpack
depends_on:
- restore-cache
- name: run-genesis
Expand All @@ -54,13 +56,13 @@ steps:
- export ZKSYNC_HOME=`pwd`
- export PATH=$ZKSYNC_HOME/bin:$PATH
- export CARGO_HOME=$ZKSYNC_HOME/target/cargo
- cargo fmt -- --check
- f cargo clippy --tests --benches -- -D warnings
- zksync circuit-tests
- zksync prover-tests
- zksync db-test
- f cargo test --release
- cargo fmt -- --check
- f cargo clippy --tests --benches -- -D warnings
- pushd js/zksync_crypto
- pushd js/zksync-crypto
- f cargo test --release
- cargo fmt -- --check
- f cargo clippy --tests --benches -- -D warnings
Expand Down Expand Up @@ -105,7 +107,7 @@ steps:
rebuild: true
mount:
- ./target/cargo
- ./keys
- ./keys/setup
depends_on:
- redeploy-and-integration-testkit
- rust-tests-and-checks
Expand Down Expand Up @@ -137,7 +139,7 @@ steps:
restore: true
mount:
- ./target/cargo
- ./keys
- ./keys/setup
- name: preparations-for-integration-simple
image: matterlabs/ci
commands:
Expand All @@ -149,6 +151,7 @@ steps:
- zksync yarn
- zksync db-wait
- zksync db-setup
- zksync verify-keys unpack
- ssed -E "s/(.*constant DUMMY_VERIFIER)(.*)\;/\1 = true\;/" -i $ZKSYNC_HOME/contracts/contracts/Verifier.sol
- zksync build-contracts
- zksync db-reset
Expand Down Expand Up @@ -228,7 +231,7 @@ steps:
restore: true
mount:
- ./target/cargo
- ./keys
- ./keys/setup

- name: init
image: matterlabs/ci
Expand All @@ -243,7 +246,8 @@ steps:
- echo -n $STAGE_ENV_BASE64| base64 --decode > $ZKSYNC_HOME/etc/env/stage.env
- zksync env stage
- zksync yarn
- zksync gen-keys-if-not-present
- zksync plonk-setup check || zksync plonk-setup download
- zksync verify-keys unpack
- zksync build-contracts
depends_on:
- restore-cache
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ start-server:
@bin/kube scale deployments/$(ZKSYNC_ENV)-server --namespace $(ZKSYNC_ENV) --replicas=1

stop-provers:
@bin/provers-scale 0
@bin/kube scale deployments/$(ZKSYNC_ENV)-prover --namespace $(ZKSYNC_ENV) --replicas=0

stop-server:
@bin/kube scale deployments/$(ZKSYNC_ENV)-server --namespace $(ZKSYNC_ENV) --replicas=0
Expand Down
4 changes: 1 addition & 3 deletions bin/k8s-apply-provers
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
#!/bin/bash
set -e

for BLOCK_SIZE_CHUNKS in $(echo $BLOCK_CHUNK_SIZES | sed "s/,/ /g"); do
kubectl apply -f etc/kube/gen/$ZKSYNC_ENV/prover-$BLOCK_SIZE_CHUNKS.yaml -n $ZKSYNC_ENV --record=true
done
kubectl apply -f etc/kube/gen/$ZKSYNC_ENV/prover.yaml -n $ZKSYNC_ENV --record=true
2 changes: 1 addition & 1 deletion bin/plonk-setup
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ set -e
SETUP_DO_SPACE_DIR=https://universal-setup.ams3.digitaloceanspaces.com
COMMAND=${1:-check}
KEY_TYPE=${2:-monomial}
POWERS=${3-$SUPPORTED_BLOCK_CHUNKS_SIZES_SETUP_POWERS}
POWERS=${3-`eval echo {20..26}`}
case $KEY_TYPE in
monomial|all)
;;
Expand Down
7 changes: 4 additions & 3 deletions bin/test-upgrade-franklin.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
#!/bin/bash

#$1 - main contract address
#$2 - gatekeeper contract address

if [ ! -z $ZKSYNC_HOME ]
then
cd $ZKSYNC_HOME
fi

. .setup_env

cd contracts;
yarn ts-node scripts/test-upgrade-franklin.ts $1 $2
f yarn ts-node scripts/test-upgrade-franklin.ts $1 $2
96 changes: 52 additions & 44 deletions contracts/scripts/test-upgrade-franklin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,59 +10,67 @@ const {expect} = require("chai")
export const FranklinTestNoInitContractCode = require(`../build/FranklinTestNoInit`);

async function main() {
const parser = new ArgumentParser({
version: '0.0.1',
addHelp: true,
description: 'Contract upgrade',
});
parser.addArgument('contractAddress');
parser.addArgument('upgradeGatekeeperAddress');
const args = parser.parseArgs(process.argv.slice(2));
if (process.env.ETH_NETWORK !== 'localhost') {
console.log("Upgrading test contract not on localhost is not allowed");
return;
}
try {
const parser = new ArgumentParser({
version: '0.0.1',
addHelp: true,
description: 'Contract upgrade',
});
parser.addArgument('contractAddress');
parser.addArgument('upgradeGatekeeperAddress');
const args = parser.parseArgs(process.argv.slice(2));
if (process.env.ETH_NETWORK !== 'localhost') {
console.log("Upgrading test contract not on localhost is not allowed");
return;
}

const provider = new ethers.providers.JsonRpcProvider(process.env.WEB3_URL);
if (process.env.ETH_NETWORK == "localhost") {
// small polling interval for localhost network
provider.pollingInterval = 200;
}
const provider = new ethers.providers.JsonRpcProvider(process.env.WEB3_URL);
if (process.env.ETH_NETWORK == "localhost") {
// small polling interval for localhost network
provider.pollingInterval = 200;
}

const wallet = ethers.Wallet.fromMnemonic(process.env.MNEMONIC, "m/44'/60'/0'/0/1").connect(provider);
const wallet = ethers.Wallet.fromMnemonic(process.env.MNEMONIC, "m/44'/60'/0'/0/1").connect(provider);

const proxyContract = new ethers.Contract(
args.contractAddress,
proxyContractCode.interface,
wallet
);
const proxyContract = new ethers.Contract(
args.contractAddress,
proxyContractCode.interface,
wallet
);

const upgradeGatekeeper = new ethers.Contract(
args.upgradeGatekeeperAddress,
upgradeGatekeeperTestContractCode.interface,
wallet,
);
const upgradeGatekeeper = new ethers.Contract(
args.upgradeGatekeeperAddress,
upgradeGatekeeperTestContractCode.interface,
wallet,
);

const newTargetFranklin = await deployContract(
wallet,
FranklinTestNoInitContractCode,
[],
{gasLimit: 6500000},
);
const newTargetFranklin = await deployContract(
wallet,
FranklinTestNoInitContractCode,
[],
{gasLimit: 6500000},
);

await (await upgradeGatekeeper.startUpgrade([AddressZero, AddressZero, newTargetFranklin.address])).wait();
console.log("Starting upgrade");
await (await upgradeGatekeeper.startUpgrade([AddressZero, AddressZero, newTargetFranklin.address])).wait();

// wait notice period
while (parseInt(await upgradeGatekeeper.upgradeStatus()) !== 2/*Preparation*/) {
await new Promise(r => setTimeout(r, 1000));
await (await upgradeGatekeeper.startPreparation()).wait();
}
// wait notice period
console.log("Waiting notice period");
while (parseInt(await upgradeGatekeeper.upgradeStatus()) !== 2/*Preparation*/) {
await new Promise(r => setTimeout(r, 1000));
await (await upgradeGatekeeper.startPreparation({gasLimit: 300000})).wait();
}

// finish upgrade
await (await upgradeGatekeeper.finishUpgrade([[], [], []])).wait();
console.log("Finish upgrade notice period");
// finish upgrade
await (await upgradeGatekeeper.finishUpgrade([[], [], []], {gasLimit: 300000})).wait();

await expect(await proxyContract.getTarget())
.to.equal(newTargetFranklin.address);
await expect(await proxyContract.getTarget())
.to.equal(newTargetFranklin.address, "upgrade was unsuccessful");
} catch (e) {
console.log(JSON.stringify(e));
process.exit(0);
}
}

main();
Loading

0 comments on commit 0931df7

Please sign in to comment.