diff --git a/.github/workflows/cleanup.yml b/.github/workflows/cleanup.yml new file mode 100644 index 0000000000..2beb3a7afa --- /dev/null +++ b/.github/workflows/cleanup.yml @@ -0,0 +1,15 @@ +name: Cleanup environments + +on: + pull_request: + types: + - closed + - merged + workflow_dispatch: + +jobs: + cleanup: + uses: blockscout/blockscout-ci-cd/.github/workflows/cleanup.yaml@master + with: + appNamespace: review-blockscout-$GITHUB_REF_SLUG + secrets: inherit diff --git a/.github/workflows/publish-docker-deploy-review.yml b/.github/workflows/publish-docker-deploy-review.yml new file mode 100644 index 0000000000..efaa0bafbc --- /dev/null +++ b/.github/workflows/publish-docker-deploy-review.yml @@ -0,0 +1,88 @@ +name: Deploy review environment + +on: + pull_request: + workflow_dispatch: + +env: + K8S_LOCAL_PORT: ${{ secrets.K8S_LOCAL_PORT }} + K8S_HOST: ${{ secrets.K8S_HOST }} + BASTION_HOST: ${{ secrets.BASTION_HOST }} + K8S_PORT: ${{ secrets.K8S_PORT }} + USERNAME: ${{ secrets.USERNAME }} + BASTION_SSH_KEY: ${{secrets.BASTION_SSH_KEY}} + +jobs: + push_to_registry: + name: Push Docker image to Docker Hub + runs-on: ubuntu-latest + outputs: + release-version: ${{ steps.output-step.outputs.release-version }} + short-sha: ${{ steps.output-step.outputs.short-sha }} + steps: + - name: Check out the repo + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Log in to Docker Hub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: blockscout/blockscout + + - name: Add SHORT_SHA env property with commit short sha + run: echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> $GITHUB_ENV + + - name: Add outputs + run: | + echo "::set-output name=release-version::${{ env.NEXT_RELEASE_VERSION }}" + echo "::set-output name=short-sha::${{ env.SHORT_SHA }}" + id: output-step + + - name: Build and push Docker image + uses: docker/build-push-action@v3 + with: + context: . + file: ./docker/Dockerfile + push: true + cache-from: type=registry,ref=blockscout/blockscout:buildcache + cache-to: type=registry,ref=blockscout/blockscout:buildcache,mode=max + tags: blockscout/blockscout:latest, blockscout/blockscout:${{ env.NEXT_RELEASE_VERSION }}-prerelease-${{ env.SHORT_SHA }} + build-args: | + CACHE_EXCHANGE_RATES_PERIOD= + DISABLE_READ_API=false + API_PATH= + NETWORK_PATH= + DISABLE_WEBAPP=false + DISABLE_WRITE_API=false + CACHE_ENABLE_TOTAL_GAS_USAGE_COUNTER= + WOBSERVER_ENABLED=false + ADMIN_PANEL_ENABLED=false + CACHE_ADDRESS_WITH_BALANCES_UPDATE_INTERVAL= + DISABLE_BRIDGE_MARKET_CAP_UPDATER=false + CACHE_BRIDGE_MARKET_CAP_UPDATE_INTERVAL= + SOCKET_ROOT= + # deploy_blockscout: + # name: Deploy blockscout app + # needs: push_to_registry + # uses: blockscout/blockscout-ci-cd/.github/workflows/deploy.yaml@master + # with: + # valuesDir: deploy/values/review + # appNamespace: review-blockscout-$GITHUB_REF_SLUG + # blockscoutIngressHost: bs-blockscout + # frontendIngressHost: bs-blockscout + # blockscoutImage: blockscout/blockscout:${{ needs.push_to_registry.outputs.release-version }}-prerelease-${{ needs.push_to_registry.outputs.short-sha }} + # gethIngressHost: bs-geth + # scVerifierIngressHost: bs-sc-verifier + # secrets: inherit