diff --git a/.github/workflows/ci-cd-pipeline.yml b/.github/workflows/ci-cd-pipeline.yml index 7c87540485..eb5d672837 100644 --- a/.github/workflows/ci-cd-pipeline.yml +++ b/.github/workflows/ci-cd-pipeline.yml @@ -10,7 +10,7 @@ env: on: push: - branches: [main] + branches: [main,mario/fix_staging_promotion] tags: ["v*"] workflow_dispatch: @@ -21,64 +21,70 @@ permissions: jobs: build_docker_image: runs-on: ubuntu-latest + outputs: + DOCKER_IMAGE_TAG: ${{ steps.set_tag.outputs.DOCKER_IMAGE_TAG }} steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 + # - name: Checkout + # uses: actions/checkout@v4 + # with: + # fetch-depth: 0 - name: Define image tag + id: set_tag run: | - echo "DOCKER_IMAGE_TAG=$(git describe --tags)" >> $GITHUB_ENV - - - name: Setup Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Login to registry - run: | - docker login ${{ env.DOCKER_REGISTRY }} -u ${{ vars.ARTIFACTORY_NUBIA_USER }} -p ${{ secrets.ARTIFACTORY_NUBIA_CONTRIBUTOR}} - - - name: Build and Push - uses: docker/build-push-action@v5 - with: - context: . - platforms: "linux/amd64" - push: true - tags: ${{ env.DOCKER_REGISTRY }}/${{ env.REPO_DEV }}/juno:${{ env.DOCKER_IMAGE_TAG }} - - - validate_dev: - permissions: - id-token: write - contents: write - needs: [build_docker_image] - runs-on: ubuntu-latest - environment: - name: Development - steps: - - name: Checkout - uses: actions/checkout@v4 - - - name: Verify Deployment Version (Dev) - run: bash .github/workflow-scripts/verify_deployment.sh ${{ secrets.DEV_SEPOLIA_URL }} ${{ env.DOCKER_IMAGE_TAG }} - - dev-starknet-rs-tests: - needs: [validate_dev] - uses: ./.github/workflows/starknet-rs-tests.yml - secrets: - STARKNET_RPC: ${{ secrets.DEV_SEPOLIA_URL }}/v0_6 - - dev-starknet-js-tests: - needs: [validate_dev] - uses: ./.github/workflows/starknet-js-tests.yml - secrets: - TEST_RPC_URL: ${{ secrets.DEV_SEPOLIA_URL }}/v0_7 - TEST_ACCOUNT_ADDRESS: ${{ secrets.TEST_ACCOUNT_ADDRESS }} - TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }} + export DOCKER_IMAGE_TAG=v0.11.9-15-gf9773581 + echo "DOCKER_IMAGE_TAG=$DOCKER_IMAGE_TAG" >> $GITHUB_ENV + echo "DOCKER_IMAGE_TAG=$DOCKER_IMAGE_TAG" >> $GITHUB_OUTPUT + + # - name: Setup Docker Buildx + # uses: docker/setup-buildx-action@v3 + + # - name: Login to registry + # run: | + # docker login ${{ env.DOCKER_REGISTRY }} -u ${{ vars.ARTIFACTORY_NUBIA_USER }} -p ${{ secrets.ARTIFACTORY_NUBIA_CONTRIBUTOR}} + + # - name: Build and Push + # uses: docker/build-push-action@v5 + # with: + # context: . + # platforms: "linux/amd64" + # push: true + # tags: ${{ env.DOCKER_REGISTRY }}/${{ env.REPO_DEV }}/juno:${{ env.DOCKER_IMAGE_TAG }} + + + # validate_dev: + # permissions: + # id-token: write + # contents: write + # needs: [build_docker_image] + # runs-on: ubuntu-latest + # environment: + # name: Development + # steps: + # - name: Checkout + # uses: actions/checkout@v4 + + # - name: Verify Deployment Version (Dev) + # run: bash .github/workflow-scripts/verify_deployment.sh ${{ secrets.DEV_SEPOLIA_URL }} ${{ env.DOCKER_IMAGE_TAG }} + + # dev-starknet-rs-tests: + # needs: [validate_dev] + # uses: ./.github/workflows/starknet-rs-tests.yml + # secrets: + # STARKNET_RPC: ${{ secrets.DEV_SEPOLIA_URL }}/v0_6 + + # dev-starknet-js-tests: + # needs: [validate_dev] + # uses: ./.github/workflows/starknet-js-tests.yml + # secrets: + # TEST_RPC_URL: ${{ secrets.DEV_SEPOLIA_URL }}/v0_7 + # TEST_ACCOUNT_ADDRESS: ${{ secrets.TEST_ACCOUNT_ADDRESS }} + # TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }} promote_to_staging: - needs: [build_docker_image, validate_dev] + # needs: [build_docker_image, validate_dev] + needs: [build_docker_image] runs-on: ubuntu-latest environment: name: Staging @@ -91,7 +97,7 @@ jobs: - name: Promote to Staging run: | - jf rt dpr juno/${{ env.DOCKER_IMAGE_TAG }} ${{ env.REPO_DEV }} ${{ env.REPO_STAGING }} + jf rt dpr juno/${{ needs.build_docker_image.outputs.DOCKER_IMAGE_TAG }} ${{ env.REPO_DEV }} ${{ env.REPO_STAGING }} staging-starknet-rs-tests: needs: [promote_to_staging] @@ -107,32 +113,32 @@ jobs: TEST_ACCOUNT_ADDRESS: ${{ secrets.TEST_ACCOUNT_ADDRESS }} TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }} - promote_to_production: - needs: [build_docker_image, promote_to_staging] - runs-on: ubuntu-latest - environment: - name: Production - steps: - - name: Setup JFrog CLI - uses: jfrog/setup-jfrog-cli@v4 - env: - JF_URL: ${{ vars.JFROG_URL}} - JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_NUBIA_CONTRIBUTOR }} - - - name: Promote to Production - run: | - jf rt dpr juno/${{ env.DOCKER_IMAGE_TAG }} ${{ env.REPO_STAGING }} ${{ env.REPO_PROD }} - - prod-starknet-rs-tests: - needs: [promote_to_production] - uses: ./.github/workflows/starknet-rs-tests.yml - secrets: - STARKNET_RPC: ${{ secrets.PROD_SEPOLIA_URL }}/v0_6 - - prod-starknet-js-tests: - needs: [promote_to_production] - uses: ./.github/workflows/starknet-js-tests.yml - secrets: - TEST_RPC_URL: ${{ secrets.PROD_SEPOLIA_URL }}/v0_7 - TEST_ACCOUNT_ADDRESS: ${{ secrets.TEST_ACCOUNT_ADDRESS }} - TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }} + # promote_to_production: + # needs: [build_docker_image, promote_to_staging] + # runs-on: ubuntu-latest + # environment: + # name: Production + # steps: + # - name: Setup JFrog CLI + # uses: jfrog/setup-jfrog-cli@v4 + # env: + # JF_URL: ${{ vars.JFROG_URL}} + # JF_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_NUBIA_CONTRIBUTOR }} + + # - name: Promote to Production + # run: | + # jf rt dpr juno/${{ env.DOCKER_IMAGE_TAG }} ${{ env.REPO_STAGING }} ${{ env.REPO_PROD }} + + # prod-starknet-rs-tests: + # needs: [promote_to_production] + # uses: ./.github/workflows/starknet-rs-tests.yml + # secrets: + # STARKNET_RPC: ${{ secrets.PROD_SEPOLIA_URL }}/v0_6 + + # prod-starknet-js-tests: + # needs: [promote_to_production] + # uses: ./.github/workflows/starknet-js-tests.yml + # secrets: + # TEST_RPC_URL: ${{ secrets.PROD_SEPOLIA_URL }}/v0_7 + # TEST_ACCOUNT_ADDRESS: ${{ secrets.TEST_ACCOUNT_ADDRESS }} + # TEST_ACCOUNT_PRIVATE_KEY: ${{ secrets.TEST_ACCOUNT_PRIVATE_KEY }}