diff --git a/.github/workflows/build-and-deploy.yml b/.github/workflows/build-and-deploy.yml index 15d4881a4c..9a833c3ba1 100644 --- a/.github/workflows/build-and-deploy.yml +++ b/.github/workflows/build-and-deploy.yml @@ -1,5 +1,13 @@ name: Docker Build, Publish and Deploy +env: + DOCKER_REGISTRY: nethermind.jfrog.io + + REPO_DEV: angkor-docker-local-dev + REPO_STAGING: angkor-docker-local-staging + REPO_PROD: angkor-docker-local-prod + + on: push: branches: [main] @@ -23,19 +31,13 @@ jobs: - name: Define image tag run: | echo "DOCKER_IMAGE_TAG=$(git describe --tags)" >> $GITHUB_ENV - echo "DOCKER_REGISTRY"=nethermind.jfrog.io >> $GITHUB_ENV - echo "REPO_DEV=angkor-docker-local-dev" >> $GITHUB_ENV - echo "REPO_STAGING=angkor-docker-local-staging" >> $GITHUB_ENV - echo "REPO_PROD=angkor-docker-local-prod" >> $GITHUB_ENV - echo "DOCKER_REPO_DEV=${DOCKER_REGISTRY}/${REPO_DEV}/juno" >> $GITHUB_ENV - echo "DOCKER_REPO_STAGING=${DOCKER_REGISTRY}/${REPO_STAGING}/juno" >> $GITHUB_ENV - name: Setup Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to registry run: | - docker login ${{ env.DOCKER_REGISTRY }} -u antoni.tomaszuk@nethermind.io -p ${{ secrets.ARTIFACTORY_ANGKOR_CONTRIBUTOR }} + docker login ${{ env.DOCKER_REGISTRY }} -u ${{ vars.ARTIFACTORY_ANGKOR_USER }} -p ${{ secrets.ARTIFACTORY_ANGKOR_CONTRIBUTOR }} - name: Build and Push uses: docker/build-push-action@v5 @@ -43,7 +45,8 @@ jobs: context: . platforms: "linux/amd64" push: true - tags: ${{ env.DOCKER_REPO_DEV }}:${{ env.DOCKER_IMAGE_TAG }} + tags: ${{ env.DOCKER_REGISTRY }}/${{ env.REPO_DEV }}/juno:${{ env.DOCKER_IMAGE_TAG }} + validate_dev: permissions: @@ -120,6 +123,31 @@ jobs: run: | jf rt dpr juno/${{ env.DOCKER_IMAGE_TAG }} ${{ env.REPO_STAGING }} ${{ env.REPO_PROD }} + - name: Authenticate App + id: gh-app + uses: actions/create-github-app-token@v1 + with: + app-id: ${{ vars.APP_ID }} + private-key: ${{ secrets.APP_PRIVATE_KEY }} + + - name: Trigger juno prod deployment workflow + uses: benc-uk/workflow-dispatch@v1 + with: + workflow: dispatch_render_juno.yml + repo: NethermindEth/argo + ref: "main" + token: "${{ steps.gh-app.outputs.token }}" + inputs: '{ + "event_type": "${{ env.EVENT_NAME_PROD }}", + "client_payload": { + "name": "${{ env.EVENT_NAME_PROD }}", + "mainnet_config": "${{ env.MAINNET_PROD }}", + "sepolia_config": "${{ env.SEPOLIA_PROD }}", + "sepolia_integration_config": "${{ env.SEPOLIA_INTEGRATION_PROD }}", + "tag": "${{ env.DOCKER_IMAGE_TAG }}" + } + }' + prod-starknet-rs-tests: needs: [promote_to_production] uses: ./.github/workflows/starknet-rs-tests.yml