From 7c6051010062ce172ff24c42cb774837fe29b924 Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 15:25:58 -0400 Subject: [PATCH 1/6] revert(deploy): keep VM deployment until deprecation --- .github/workflows/chore-clean-dev.yml | 2 +- .github/workflows/gcloud.yml | 58 +++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/gcloud.yml diff --git a/.github/workflows/chore-clean-dev.yml b/.github/workflows/chore-clean-dev.yml index 95d87db..3c792cb 100644 --- a/.github/workflows/chore-clean-dev.yml +++ b/.github/workflows/chore-clean-dev.yml @@ -26,7 +26,7 @@ jobs: service_account: '${{ vars.GCP_DEPLOYMENTS_SA }}' - name: Set up Cloud SDK - uses: google-github-actions/setup-gcloud@v1.1.1 + uses: google-github-actions/setup-gcloud@v2.1.0 - name: Removing CR service run: | diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml new file mode 100644 index 0000000..5f5f0bc --- /dev/null +++ b/.github/workflows/gcloud.yml @@ -0,0 +1,58 @@ +name: gcloud + +on: + workflow_dispatch: + push: + branches: + - master + pull_request: + branches: + - master + +env: + PROJECT_ID: ecosystem-infrastructure + GCLOUD_ZONE: us-central1-a + +jobs: + build-deploy: + name: Google Cloud Build + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set project and image names + run: | + BRANCH_NAME=$GITHUB_REPOSITORY/$(expr $GITHUB_REF : '.*/\(.*\)') && \ + BRANCH_NAME=${BRANCH_NAME,,} && \ + echo "BRANCH_NAME=$BRANCH_NAME" >> $GITHUB_ENV && \ + echo "SHORT_SHA=$(git rev-parse --short=7 $GITHUB_SHA)" >> $GITHUB_ENV + + # Setup gcloud CLI + - name: Authenticate to Google Cloud + id: auth + uses: google-github-actions/auth@v2.1.2 + with: + project_id: ${{ env.PROJECT_ID }} + service_account: '${{ secrets.GCLOUD_SA_KEY }}' + + - uses: google-github-actions/setup-gcloud@v2.1.0 + + # Build and push image to Google Container Registry + - name: Build + # Tagging w/ the commit SHA blocks the :latest tag on GCR + run: | + gcloud builds submit \ + --tag "gcr.io/$PROJECT_ID/$BRANCH_NAME:$SHORT_SHA" + # Deploy image to Compute Engine + - name: Deploy + run: | + gcloud compute instances create-with-container "zfnd-seeder-$SHORT_SHA" \ + --zone "$GCLOUD_ZONE" \ + --service-account instance-service-account@ecosystem-infrastructure.iam.gserviceaccount.com \ + --scopes cloud-platform \ + --machine-type n1-highcpu-4 \ + --container-image "gcr.io/$PROJECT_ID/$BRANCH_NAME:$SHORT_SHA" \ + --tags seeder \ + --metadata-from-file startup-script=scripts/seeder-zfnd-org-startup.sh \ + --container-mount-host-path mount-path=/etc/dnsseeder,host-path=/etc/dnsseeder,mode=ro \ No newline at end of file From f133e9139c463b8d3794d3ffed64ac73ee161660 Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 15:28:48 -0400 Subject: [PATCH 2/6] fix(deploy): use correct option for auth --- .github/workflows/gcloud.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml index 5f5f0bc..042bd04 100644 --- a/.github/workflows/gcloud.yml +++ b/.github/workflows/gcloud.yml @@ -34,7 +34,7 @@ jobs: uses: google-github-actions/auth@v2.1.2 with: project_id: ${{ env.PROJECT_ID }} - service_account: '${{ secrets.GCLOUD_SA_KEY }}' + credentials_json: '${{ secrets.GCLOUD_SA_KEY }}' - uses: google-github-actions/setup-gcloud@v2.1.0 From d42d2af9bb434a02ee7cd5898161b3add7a94d51 Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 15:36:31 -0400 Subject: [PATCH 3/6] fix(deploy): specify the Dockerfile --- .github/workflows/gcloud.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml index 042bd04..b060ff5 100644 --- a/.github/workflows/gcloud.yml +++ b/.github/workflows/gcloud.yml @@ -42,7 +42,7 @@ jobs: - name: Build # Tagging w/ the commit SHA blocks the :latest tag on GCR run: | - gcloud builds submit \ + gcloud builds submit docker/Dockerfile \ --tag "gcr.io/$PROJECT_ID/$BRANCH_NAME:$SHORT_SHA" # Deploy image to Compute Engine - name: Deploy From 6ca0c94593fc981ec23e60707199c93064753a6f Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 15:41:51 -0400 Subject: [PATCH 4/6] fix(build): use a dir instead of a file --- .github/workflows/gcloud.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml index b060ff5..ce79e2b 100644 --- a/.github/workflows/gcloud.yml +++ b/.github/workflows/gcloud.yml @@ -42,7 +42,7 @@ jobs: - name: Build # Tagging w/ the commit SHA blocks the :latest tag on GCR run: | - gcloud builds submit docker/Dockerfile \ + gcloud builds submit ./docker \ --tag "gcr.io/$PROJECT_ID/$BRANCH_NAME:$SHORT_SHA" # Deploy image to Compute Engine - name: Deploy From 43b6305082e030a559e0a09a76aa49dfe153660a Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 15:50:10 -0400 Subject: [PATCH 5/6] fix(docs): use actual branch in `dnsseeder` repo --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 86848a7..7817e8d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -22,7 +22,7 @@ RUN git clone --depth 1 --branch v${COREDNS_VERSION} https://github.com/coredns/ WORKDIR /go/src/github.com/coredns/coredns RUN echo "dnsseed:github.com/zcashfoundation/dnsseeder/dnsseed" >> /go/src/github.com/coredns/coredns/plugin.cfg -# Must be the same replace as in `dnsseeder`. Currently pointing to "main-zfnd" branch +# Must be the same replace as in `dnsseeder`. Currently pointing to "master" branch RUN echo "replace github.com/btcsuite/btcd => github.com/ZcashFoundation/btcd v0.22.0-beta.0.20220607000607-40dc9492aa42" >> /go/src/github.com/coredns/coredns/go.mod RUN go get github.com/zcashfoundation/dnsseeder/dnsseed@${DNSSEEDER_VERSION} From 2386ad40c223403149e509b03fc3b5f0a1d74512 Mon Sep 17 00:00:00 2001 From: Gustavo Valverde Date: Tue, 25 Jun 2024 16:01:13 -0400 Subject: [PATCH 6/6] fix(build): use root dir --- .github/workflows/gcloud.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/gcloud.yml b/.github/workflows/gcloud.yml index ce79e2b..b4bdcbf 100644 --- a/.github/workflows/gcloud.yml +++ b/.github/workflows/gcloud.yml @@ -42,7 +42,7 @@ jobs: - name: Build # Tagging w/ the commit SHA blocks the :latest tag on GCR run: | - gcloud builds submit ./docker \ + gcloud builds submit ./docker --dir . \ --tag "gcr.io/$PROJECT_ID/$BRANCH_NAME:$SHORT_SHA" # Deploy image to Compute Engine - name: Deploy