From 00657a3099650131b1c9869f4469c96004ef2e61 Mon Sep 17 00:00:00 2001 From: daodesigner <58278045+daodesigner@users.noreply.github.com> Date: Fri, 14 Jul 2023 09:26:44 -0700 Subject: [PATCH] Dev (#100) * fix: set cli as a es module * fix: bump 0.3.0; minor missing imports for enums * feat (EC2-demo) testing VMs * feat(ec2) - continuing with poc * fix(sybil) - add tests * fix(sybil) - added prod test switch * build: update external packages dependencies * feat(public ceremonies) - allow to download ceremony data to everyone * refactor: move auto-generated types to root * refactor: improve package configuration; remove unused files * refactor: complete configuration; lint and small fix * fix: wrong prod Firebase project for CI * refactor: update phase2cli package config; fixed bin overwrite when installing * refactor: use meta import to optimize repository file read * refactor: use ts-node instead of dist to execute phase2cli * refactor: update .env and package.json imports * fix: wrong path for environment config file * fix(public-data) remove cloud function * fix(public-data) remove function from index.ts * fix(public data) yarn.locl * fix: missing skipLibCheck option was causing docs script to exit * fix: add missing options to ts config * chore(release): publish 0.3.0 * build: update yarn version * fix: spinner does not stop correctly after contribution verification * chore(release): publish 0.3.1 * fix: missing updates for current contributor fields when coordinating * fix: duplicate messages when waiting for contribution; remove wrong listener * chore(release): publish 0.3.5 * fix(sybil checks): amended env var name and added to the backend * fix(s3): creating public bucket with object ACL enabled configuring S3 to allow download of verification transcript * fix(tests): fixed tests * fix: unconsistency when resuming a contribution * fix: add missing alternative case; fix wrong tests * chore(release): publish 0.4.0 * fix: wrong ci env project * fix: missing sort for ceremony circuits * fix: wrong document property lead to error when checking github antisybil * build: missing dependencies on actions package * chore(release): publish 0.4.1 * chore(release): publish 0.4.2 * test: update github anti-sybil tests * fix(ux): added more verbose messages to inform the user of waiting times and errors * feat(ec2): added tests and ip function * feat(ec2): merge udpates and add tests * feat(vms): added ssm code and more tests + changes on backend * feat(vms): refactoring * fix: imports and package version * feat(vms): added tests * fix(vms): tests * feat(ec2): fixed bug in running commands at deployment and refactored setup * test(ec2): added setup e2e test * fix(vms): refactoring and code fixes * fix(vm): bug fix * fix(vm): missing files * feat(vms): implemented e2e test for contribution verification * feat(vms): tests and refactoring * fix(vms): remove redundant code * test(vms): completed e2e tests with VMs * fix(vms): cleanup test * fix(vms): remove redundant parameter on VM startup - ssh keypair * fix(vms): add tags on EC2 creation * refactor: add missing hash computation; minor conflicts and changes * fix(vms): fix VM commands * test(vms): fix test to also delete the verification transcript * chore: publish 0.4.7 * test(vms): refactoring of VM tests with extra debug options * test(vms): fixed finalize test and cloud function. Adding extra debugging for verification * fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF * chore: publish 0.4.8 * fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash * fix(vms): fixed cloud function for VM verification * chore: publish 0.4.9 * fix(vms): fix cloud function bug related to the wrong verification transcript path * test(vms): fix broken tests due to VM upgrade * fix(vms): disable eslint rule for regex * feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization * feat(vms): add marker file in userData to avoid running initialization code more than once * fix(vms): fix userData commands * refactor: add VM prices * refactor: add selector for VM disk type * test: update tests * refactor: complete and remove old todos * refactor: add retry mechanism for VM * fix: wrong path to Verifier smart contract template * feat(vms): implement terraform script to deploy AWS inf * fix(vms): fix import error * fix: correct failing tests * fix(vms): fix cloud function multipartupload wrong parameter name * chore: publish 0.4.10 * fix(vms): fix terraform and lambda config * fix(vms): temp revert of retry feature in verifyContribution * fix(vms): fix emulator tests * fix(vms): fix prod tests * refactor: improve verifycontribution function code; minor changes to code readability * fix(vms): fix prod test - wrong parameter order in ec2 tests * chore: publish 0.5.0 * fix: missing else statement for verifycontribution function; wrong return on custom promise * fix(vms): revert part of the verifyContribution refactoring and update terraform * fix(vms): retry mechanism for VM startup * refactor: add options for contribute command * refactor: make coordinator artifacts publicly downloadable by default * chore: update backend firebase default prod project * fix(tests): add extra sleep when setting custom claims to allow propagation * fix(tests): skip a test that would fail due to environment not clean * fix(tests): fix issues with user not being recognized as coordinator * fix(tests): add extra sleep and coordinator checks within tests * refactor: avoid mandatory memory check; add missing loader and messages to improve ux * feat(setup): start to implement non interactive setup * feat(setup): implement non interactive setup * fix(setup): change test file * fix(setup): remove non working test * fix(setup): change setup test file * fix(setup): amend after PR review * feat(setup): add option to pass the authentication token as cli param passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like GitHub actions. * fix(tests): add extra coordinator user to resolve random test failure * fix(tests): add extra sleep after user creation * fix(auth): fix non interactive auth and force token refresh for coordinator * fix(setup): fix local path to circuit artifacts + change error in security tests * fix(setup): add missing circuit artifacts local path allow circuit artifacts to be in a separate folder for setup so that it can be used with definitelySetup * fix(tests): fix tests * refactor: improve ux ui of auth and logout commands * feat(setup): add a cli command to validate the ceremony setup file and the constraints * refactor: add spinners to avoid delays; add custom feedback messages for contributor * chore: correct text * feat(list ceremonies): add a command to list all ceremonies * feat(list): exit with code 1 when calling showError with exit=true * fix(tests and setup): fix tests and cleanup config file * chore: publish 1.0.0 * fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm) * Revise workflow * Fix a typo * V1.1.1 * V1.1 * fix: set cli as a es module * fix: bump 0.3.0; minor missing imports for enums * feat (EC2-demo) testing VMs * feat(ec2) - continuing with poc * fix(sybil) - add tests * fix(sybil) - added prod test switch * build: update external packages dependencies * feat(public ceremonies) - allow to download ceremony data to everyone * refactor: move auto-generated types to root * refactor: improve package configuration; remove unused files * refactor: complete configuration; lint and small fix * fix: wrong prod Firebase project for CI * refactor: update phase2cli package config; fixed bin overwrite when installing * refactor: use meta import to optimize repository file read * refactor: use ts-node instead of dist to execute phase2cli * refactor: update .env and package.json imports * fix: wrong path for environment config file * fix(public-data) remove cloud function * fix(public-data) remove function from index.ts * fix(public data) yarn.locl * fix: missing skipLibCheck option was causing docs script to exit * fix: add missing options to ts config * chore(release): publish 0.3.0 * build: update yarn version * fix: spinner does not stop correctly after contribution verification * chore(release): publish 0.3.1 * fix: missing updates for current contributor fields when coordinating * fix: duplicate messages when waiting for contribution; remove wrong listener * chore(release): publish 0.3.5 * fix(sybil checks): amended env var name and added to the backend * fix(s3): creating public bucket with object ACL enabled configuring S3 to allow download of verification transcript * fix(tests): fixed tests * fix: unconsistency when resuming a contribution * fix: add missing alternative case; fix wrong tests * chore(release): publish 0.4.0 * fix: wrong ci env project * fix: missing sort for ceremony circuits * fix: wrong document property lead to error when checking github antisybil * build: missing dependencies on actions package * chore(release): publish 0.4.1 * chore(release): publish 0.4.2 * test: update github anti-sybil tests * fix(ux): added more verbose messages to inform the user of waiting times and errors * feat(ec2): added tests and ip function * feat(ec2): merge udpates and add tests * feat(vms): added ssm code and more tests + changes on backend * feat(vms): refactoring * fix: imports and package version * feat(vms): added tests * fix(vms): tests * feat(ec2): fixed bug in running commands at deployment and refactored setup * test(ec2): added setup e2e test * fix(vms): refactoring and code fixes * fix(vm): bug fix * fix(vm): missing files * feat(vms): implemented e2e test for contribution verification * feat(vms): tests and refactoring * fix(vms): remove redundant code * test(vms): completed e2e tests with VMs * fix(vms): cleanup test * fix(vms): remove redundant parameter on VM startup - ssh keypair * fix(vms): add tags on EC2 creation * refactor: add missing hash computation; minor conflicts and changes * fix(vms): fix VM commands * test(vms): fix test to also delete the verification transcript * chore: publish 0.4.7 * test(vms): refactoring of VM tests with extra debug options * test(vms): fixed finalize test and cloud function. Adding extra debugging for verification * fix(vms): fixed wrong path in blake3 bin command and various fixes on the verification CF * chore: publish 0.4.8 * fix(vms): removed stdin/stdout redirection in VM command and added regex match for blake3 hash * fix(vms): fixed cloud function for VM verification * chore: publish 0.4.9 * fix(vms): fix cloud function bug related to the wrong verification transcript path * test(vms): fix broken tests due to VM upgrade * fix(vms): disable eslint rule for regex * feat(vms): implement SNS topic command to trigger Lambda that stops the VM after initialization * feat(vms): add marker file in userData to avoid running initialization code more than once * fix(vms): fix userData commands * refactor: add VM prices * refactor: add selector for VM disk type * test: update tests * refactor: complete and remove old todos * refactor: add retry mechanism for VM * fix: wrong path to Verifier smart contract template * feat(vms): implement terraform script to deploy AWS inf * fix(vms): fix import error * fix: correct failing tests * fix(vms): fix cloud function multipartupload wrong parameter name * chore: publish 0.4.10 * fix(vms): fix terraform and lambda config * fix(vms): temp revert of retry feature in verifyContribution * fix(vms): fix emulator tests * fix(vms): fix prod tests * refactor: improve verifycontribution function code; minor changes to code readability * fix(vms): fix prod test - wrong parameter order in ec2 tests * chore: publish 0.5.0 * fix: missing else statement for verifycontribution function; wrong return on custom promise * fix(vms): revert part of the verifyContribution refactoring and update terraform * fix(vms): retry mechanism for VM startup * refactor: add options for contribute command * refactor: make coordinator artifacts publicly downloadable by default * chore: update backend firebase default prod project * fix(tests): add extra sleep when setting custom claims to allow propagation * fix(tests): skip a test that would fail due to environment not clean * fix(tests): fix issues with user not being recognized as coordinator * fix(tests): add extra sleep and coordinator checks within tests * refactor: avoid mandatory memory check; add missing loader and messages to improve ux * feat(setup): start to implement non interactive setup * feat(setup): implement non interactive setup * fix(setup): change test file * fix(setup): remove non working test * fix(setup): change setup test file * fix(setup): amend after PR review * feat(setup): add option to pass the authentication token as cli param passing the cli token as param one could easily use p0tion non interactive setup in a CI/CD env like GitHub actions. * fix(tests): add extra coordinator user to resolve random test failure * fix(tests): add extra sleep after user creation * fix(auth): fix non interactive auth and force token refresh for coordinator * fix(setup): fix local path to circuit artifacts + change error in security tests * fix(setup): add missing circuit artifacts local path allow circuit artifacts to be in a separate folder for setup so that it can be used with definitelySetup * fix(tests): fix tests * refactor: improve ux ui of auth and logout commands * feat(setup): add a cli command to validate the ceremony setup file and the constraints * refactor: add spinners to avoid delays; add custom feedback messages for contributor * chore: correct text * feat(list ceremonies): add a command to list all ceremonies * feat(list): exit with code 1 when calling showError with exit=true * fix(tests and setup): fix tests and cleanup config file * chore: publish 1.0.0 * fix(verifycontribution): fix issue with failing to deconstruct undefined object (vm) * Revise workflow * Fix a typo --------- Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor Co-authored-by: Jeeiii Co-authored-by: Daehyun Paik * Separate deployment and testing --------- Co-authored-by: daodesigner <58278045+daodesigner@users.noreply.github.com> Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor Co-authored-by: Jeeiii * Separate deploy and test (#99) --------- Co-authored-by: ctrlc03 <93448202+ctrlc03@users.noreply.github.com> Co-authored-by: cedoor Co-authored-by: Jeeiii Co-authored-by: Daehyun Paik --- ...production.yaml => deploy-production.yaml} | 2 +- ...-test-staging.yaml => deploy-staging.yaml} | 11 +-------- .github/workflows/test-staging.yaml | 23 +++++++++++++++++++ 3 files changed, 25 insertions(+), 11 deletions(-) rename .github/workflows/{deploy-and-test-production.yaml => deploy-production.yaml} (93%) rename .github/workflows/{deploy-and-test-staging.yaml => deploy-staging.yaml} (60%) create mode 100644 .github/workflows/test-staging.yaml diff --git a/.github/workflows/deploy-and-test-production.yaml b/.github/workflows/deploy-production.yaml similarity index 93% rename from .github/workflows/deploy-and-test-production.yaml rename to .github/workflows/deploy-production.yaml index b7b7dada..84484169 100644 --- a/.github/workflows/deploy-and-test-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -1,4 +1,4 @@ -name: Deploy and Test Production +name: Deploy to Production on: pull_request: diff --git a/.github/workflows/deploy-and-test-staging.yaml b/.github/workflows/deploy-staging.yaml similarity index 60% rename from .github/workflows/deploy-and-test-staging.yaml rename to .github/workflows/deploy-staging.yaml index c9e8193c..7fa8eb5d 100644 --- a/.github/workflows/deploy-and-test-staging.yaml +++ b/.github/workflows/deploy-staging.yaml @@ -1,4 +1,4 @@ -name: Deploy and Test Staging +name: Deploy to Staging on: pull_request: @@ -21,12 +21,3 @@ jobs: environment: staging-for-deploy branch: ${{ github.ref }} firebase_project: ${{ vars.FIREBASE_PROJECT_STAGING }} - - test-staging: - needs: deploy-staging - uses: ./.github/workflows/firebase-test.yaml - secrets: inherit - with: - environment: staging-for-test - github_ref: ${{ github.ref }} - firebase_project: ${{ vars.FIREBASE_PROJECT_STAGING }} diff --git a/.github/workflows/test-staging.yaml b/.github/workflows/test-staging.yaml new file mode 100644 index 00000000..ed48bc02 --- /dev/null +++ b/.github/workflows/test-staging.yaml @@ -0,0 +1,23 @@ +name: Test Staging + +on: + pull_request: + branches: staging + push: + branches: staging + + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + + test-staging: + uses: ./.github/workflows/firebase-test.yaml + secrets: inherit + with: + environment: staging-for-deploy + github_ref: ${{ github.ref }} + firebase_project: ${{ vars.FIREBASE_PROJECT_STAGING }}