From 373d9fca4cbd36beca508ad6a31e6e18f63f8858 Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 16:50:32 +0300 Subject: [PATCH 1/8] test --- .github/workflows/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index a5a285dd0a..0255d52c04 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -35,6 +35,6 @@ jobs: - name: Build docker image uses: docker/build-push-action@v5 - with: + with: push: true tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest From f4f55f67bb3098e8a13b8a80e4941cb96c7024ba Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 17:41:50 +0300 Subject: [PATCH 2/8] adding docker-compose file --- docker-compose/docker-compose.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index f0a337c183..971b9a5838 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -2,11 +2,20 @@ version: '3.8' services: geth: - image: denislav-mladenov/go-ethereum:latest + image: ghcr.io/denislav-mladenov/go-ethereum:latest ports: - "8545:8545" + - "8546:8546" - "30303:30303" - volumes: - - ./data:/root/.ethereum - command: --dev --http --http.addr 0.0.0.0 --http.port 8545 --http.api eth,net,web3,personal,miner - + command: + --dev + --http + --http.addr 0.0.0.0 + --http.port 8545 + --http.corsdomain "*" + --http.api personal,db,eth,net,web3 + --ws + --ws.addr 0.0.0.0 + --ws.port 8546 + --ws.origins "*" + --ws.api personal,db,eth,net,web3 From b3c93551d613bed0317b112d95bfe0e6c9562066 Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 18:16:55 +0300 Subject: [PATCH 3/8] updating docker-compose file --- docker-compose/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 971b9a5838..25573fe235 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -9,7 +9,7 @@ services: - "30303:30303" command: --dev - --http + --http --http.addr 0.0.0.0 --http.port 8545 --http.corsdomain "*" From 58ff0048c171a601f400bd378655abc5e3685cba Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 18:47:45 +0300 Subject: [PATCH 4/8] updating docker-compose --- docker-compose/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose/docker-compose.yml b/docker-compose/docker-compose.yml index 25573fe235..bf9fbd7bd1 100644 --- a/docker-compose/docker-compose.yml +++ b/docker-compose/docker-compose.yml @@ -1,5 +1,5 @@ version: '3.8' - + services: geth: image: ghcr.io/denislav-mladenov/go-ethereum:latest From 5f6bb199469e53eb2742c0cae3ddfa01d273e6c1 Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 20:11:33 +0300 Subject: [PATCH 5/8] building docker PR --- .github/workflows/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 0255d52c04..23a94b64e1 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,5 +1,5 @@ name: docker-build - + on: pull_request: branches: [ "master" ] From 89087420add674b422b645461d09cdc46c6499ee Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 20:23:21 +0300 Subject: [PATCH 6/8] Update --- .github/workflows/docker-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 23a94b64e1..0255d52c04 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,5 +1,5 @@ name: docker-build - + on: pull_request: branches: [ "master" ] From 9d0daee9ac320e7e2a857326d00e0381bb97f218 Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 20:28:02 +0300 Subject: [PATCH 7/8] docker-deploy --- .github/workflows/docker-deploy.yml | 86 +++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 .github/workflows/docker-deploy.yml diff --git a/.github/workflows/docker-deploy.yml b/.github/workflows/docker-deploy.yml new file mode 100644 index 0000000000..0f3e92eb26 --- /dev/null +++ b/.github/workflows/docker-deploy.yml @@ -0,0 +1,86 @@ +name: deploy-hardhat + +on: + pull_request: + branches: [ "master" ] + types: [ labeled ] + + workflow_dispatch: + +env: + REGISTRY: ghcr.io + IMAGE_NAME: denislav-mladenov/go-ethereum + +jobs: + deploy-hardhat: + if: ${{ github.event.label.name == 'CI:Deploy' }} + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + id-token: write + + steps: + - uses: actions/checkout@v4 + + - name: Login to registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Pull image + run: docker pull ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest + + - name: Running image container + run: | + echo "Workspace path: /workspace/hardhat" + docker run -d --name go-ethereum -p 8545:8545 -p 8546:8546 ghcr.io/denislav-mladenov/go-ethereum:latest \ + --dev + --http + --http.addr 0.0.0.0 + --http.port 8545 + --http.corsdomain "*" + --http.api personal,db,eth,net,web3 + --ws + --ws.addr 0.0.0.0 + --ws.port 8546 + --ws.origins "*" + --ws.api personal,db,eth,net,web3 + + - name: Copying the hardhat files to the container + run: | + docker exec go-ethereum mkdir -p /workspace/hardhat + docker cp ${{ github.workspace }}/hardhat go-ethereum:/workspace/ + docker exec go-ethereum ls -larth /workspace/hardhat + + - name: Installing the required Node.js and npm + run: | + docker exec go-ethereum apk add --no-cache nodejs npm + + - name: Installation of hardhat + run: docker exec go-ethereum sh -c "cd /workspace/hardhat && npm install --save-dev hardhat" + + - name: Checking the hardhat version to verify that its working properly + run: | + docker exec go-ethereum npx hardhat --version + + - name: Deploy hardhat sample project + run: | + docker exec go-ethereum sh -c "cd /workspace/hardhat && yes | npx hardhat ignition deploy ./ignition/modules/Token.js --network devnet" + + - name: Testing contracts + run: | + docker exec go-ethereum sh -c "cd /workspace/hardhat && npx hardhat test" + + - name: Build a new docker image + run: | + docker commit go-ethereum go-eth-hardhat:latest + docker tag go-eth-hardhat:latest ${{ env.REGISTRY }}/${{ github.repository_owner }}/go-eth-hardhat:latest + + - name: Push new image to ghcr.io + run: docker push ${{ env.REGISTRY }}/${{ github.repository_owner }}/go-eth-hardhat:latest From a8fe1b581bec03eb50e8a24774b14d02fe295d1e Mon Sep 17 00:00:00 2001 From: denislav-mladenov Date: Wed, 17 Jul 2024 20:43:20 +0300 Subject: [PATCH 8/8] Testing the setup --- .github/workflows/docker-build.yml | 2 +- .github/workflows/docker-deploy.yml | 2 +- .github/workflows/go.yml | 24 ------------------------ 3 files changed, 2 insertions(+), 26 deletions(-) delete mode 100644 .github/workflows/go.yml diff --git a/.github/workflows/docker-build.yml b/.github/workflows/docker-build.yml index 0255d52c04..23a94b64e1 100644 --- a/.github/workflows/docker-build.yml +++ b/.github/workflows/docker-build.yml @@ -1,5 +1,5 @@ name: docker-build - + on: pull_request: branches: [ "master" ] diff --git a/.github/workflows/docker-deploy.yml b/.github/workflows/docker-deploy.yml index 0f3e92eb26..04785095b7 100644 --- a/.github/workflows/docker-deploy.yml +++ b/.github/workflows/docker-deploy.yml @@ -1,5 +1,5 @@ name: deploy-hardhat - + on: pull_request: branches: [ "master" ] diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml deleted file mode 100644 index 844cfb5d24..0000000000 --- a/.github/workflows/go.yml +++ /dev/null @@ -1,24 +0,0 @@ -name: i386 linux tests - -on: - push: - branches: [ master ] - pull_request: - branches: [ master ] - workflow_dispatch: - -jobs: - build: - runs-on: self-hosted - steps: - - uses: actions/checkout@v4 - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: 1.21.4 - cache: false - - name: Run tests - run: go test -short ./... - env: - GOOS: linux - GOARCH: 386