diff --git a/.github/workflows/deploy-stage.yml b/.github/workflows/deploy-stage.yml index 35b9fd6d..c5f97e15 100644 --- a/.github/workflows/deploy-stage.yml +++ b/.github/workflows/deploy-stage.yml @@ -25,6 +25,7 @@ jobs: permissions: id-token: write contents: read + packages: read steps: - name: 'Checkout' @@ -35,6 +36,7 @@ jobs: node-version: ${{ env.NODE_VERSION }} registry-url: 'https://npm.pkg.github.com' scope: "@rumblefishdev" + NODE_AUTH_TOKEN: ${{ secrets.GH_TOKEN }} - name: 'Cache NPM dependencies' uses: pat-s/always-upload-cache@v2.1.5 @@ -96,13 +98,21 @@ jobs: permissions: id-token: write contents: read + packages: read steps: - name: 'Checkout' uses: actions/checkout@v2.3.1 + - name: Extract version from tag + id: extract_version + run: echo "::set-output name=VERSION::${GITHUB_REF#refs/tags/@evm-debuger/transaction-trace@}" + - uses: actions/setup-node@master with: node-version: ${{ env.NODE_VERSION }} + registry-url: 'https://npm.pkg.github.com' + scope: "@rumblefishdev" + NODE_AUTH_TOKEN: ${{ secrets.GH_TOKEN }} - name: 'Cache NPM dependencies' uses: pat-s/always-upload-cache@v2.1.5 @@ -118,17 +128,29 @@ jobs: npm i npm install jq.node -g node_modules/.bin/lerna bootstrap + npm --prefix packages/transaction-trace-provider/dependencies/nodejs install + env: + NODE_AUTH_TOKEN: ${{ secrets.GH_TOKEN }} - name: Build run: | npm run types:build + - name: Build Docker Image + run: | + npm run transaction-trace-provider:build + docker build -t 428196107266.dkr.ecr.us-east-1.amazonaws.com/transaction-trace-provider:v${{ steps.extract_version.outputs.VERSION }} ./packages/transaction-trace-provider - name: Configure AWS Credentials uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: arn:aws:iam::428196107266:role/evm-debugger-transaction-trace-deploy-stage aws-region: us-east-1 role-session-name: ${{ github.event.repository.name }}-${{ github.job }} - + - name: ECR login + run: | + aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 428196107266.dkr.ecr.us-east-1.amazonaws.com + - name: Push image + run: | + docker push 428196107266.dkr.ecr.us-east-1.amazonaws.com/transaction-trace-provider:v${{ steps.extract_version.outputs.VERSION }} - name: Deploy stack working-directory: ./packages/infra run: | @@ -151,6 +173,8 @@ jobs: - uses: actions/setup-node@master with: node-version: ${{ env.NODE_VERSION }} + registry-url: 'https://npm.pkg.github.com' + scope: "@rumblefishdev" - name: 'Cache NPM dependencies' uses: pat-s/always-upload-cache@v2.1.5 @@ -166,6 +190,8 @@ jobs: npm i npm install jq.node -g node_modules/.bin/lerna bootstrap + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} - name: Build run: | diff --git a/package.json b/package.json index 523fdf27..a081139a 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "transaction-trace-api:lint-fix": "lerna run lint:fix --scope @evm-debuger/transaction-trace-api", "transaction-trace-provider:lint-check": "lerna run lint:check --scope @evm-debuger/transaction-trace-provider", "transaction-trace-provider:lint-fix": "lerna run lint:fix --scope @evm-debuger/transaction-trace-provider", + "transaction-trace-provider:build": "lerna run build --scope @evm-debuger/transaction-trace-provider", "types:build": "lerna run build --scope @evm-debuger/types" }, "devDependencies": { diff --git a/packages/frontend/src/store/transactionInfo/transactionInfo.utils.ts b/packages/frontend/src/store/transactionInfo/transactionInfo.utils.ts index f1834375..29f2fc53 100644 --- a/packages/frontend/src/store/transactionInfo/transactionInfo.utils.ts +++ b/packages/frontend/src/store/transactionInfo/transactionInfo.utils.ts @@ -4,6 +4,7 @@ import { toBeHex, toNumber } from 'ethers' import type { TEthersTransactionReposnse } from './transactionInfo.types' export const formatTransactionReposne = (transactionInfo: TEthersTransactionReposnse): TTransactionInfo => { + console.log(transactionInfo) const formattedTransactionInfo: TTransactionInfo = { value: toBeHex(transactionInfo.value), to: transactionInfo.to, diff --git a/packages/infra/ci-roles.yml b/packages/infra/ci-roles.yml index 896d83b8..7f006643 100644 --- a/packages/infra/ci-roles.yml +++ b/packages/infra/ci-roles.yml @@ -72,6 +72,39 @@ Resources: token.actions.githubusercontent.com:sub: !Sub repo:rumblefishdev/${RepositoryName}:* Path: "/" Policies: + - PolicyName: allow-ci-to-use-ecr + PolicyDocument: + Version: "2012-10-17" + Statement: + - Effect: Allow + Action: + - ecr:* + Resource: + - '*' + - Effect: Allow + Action: + - apigateway:* + - cloudformation:* + - dynamodb:* + - sqs:Get* + - sqs:List* + - sqs:SetQueueAttributes + - iam:GetRole + - iam:PutRolePolicy + - lambda:UpdateFunctionCode + - lambda:TagResource + - lambda:GetLayerVersion + - lambda:UpdateEventSourceMapping + - lambda:GetEventSourceMapping + - lambda:ListTags + - lambda:PublishLayerVersion + - lambda:UpdateFunctionConfiguration + - lambda:CreateFunction + - ssm:GetParameter + - ssm:GetParameters + - iam:PassRole + - ssm:AddTagsToResource + Resource: "*" - PolicyName: allow-ci-to-update-transactiontrace PolicyDocument: Version: "2012-10-17" diff --git a/packages/transaction-trace-provider/dependencies/nodejs/package.json b/packages/transaction-trace-provider/dependencies/nodejs/package.json index c315dccf..5877e79d 100644 --- a/packages/transaction-trace-provider/dependencies/nodejs/package.json +++ b/packages/transaction-trace-provider/dependencies/nodejs/package.json @@ -2,6 +2,9 @@ "dependencies": { "hardhat": "npm:@rumblefishdev/hardhat@0.19.104" }, + "overrides": { + "hardhat@^2.9.5": "hardhat" + }, "scripts": { } }