Skip to content

Trigger to test

Trigger to test #7

Workflow file for this run

name: CI/CD
on:
push:
branches: [main, wojciechos/cleanup-ci]
tags: [v*]
permissions:
id-token: write
contents: write
jobs:
setup:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Define docker image tag
run: echo "DOCKER_IMAGE_TAG=$(git describe --tags)" >> $GITHUB_ENV
outputs:
DOCKER_IMAGE_TAG: ${{ env.DOCKER_IMAGE_TAG }}
docker_build_and_publish_amd:
needs: [setup]
uses: ./.github/workflows/docker-build-publish-amd.yml
with:
tag: ${{ needs.setup.outputs.DOCKER_IMAGE_TAG }}
deploy_to_dev:
needs: [docker_build_and_publish_amd]
runs-on: ubuntu-latest
environment:
name: Development
steps:
- name: Repository Dispatch Dev
env:
EVENT_NAME: juno-dev
IMAGE_TAG: ${{ needs.setup.outputs.DOCKER_IMAGE_TAG }}
GOERLI: apps/juno-dev/overlays/dev-goerli-1/config.yaml
INTEGRATION: apps/juno-dev/overlays/dev-integration/config.yaml
MAINNET: apps/juno-dev/overlays/dev-mainnet/config.yaml
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.ACCESS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/NethermindEth/argo/dispatches \
-d '{"event_type": "${{ env.EVENT_NAME }}", "client_payload":{"name": "${{ env.EVENT_NAME }}", "goerli_config": "${{ env.GOERLI }}", "integration_config": "${{ env.INTEGRATION }}", "mainnet_config": "${{ env.MAINNET }}", "tag": "${{ env.IMAGE_TAG }}"}}'
dev-starknet-rs-tests:
needs: [deploy_to_dev]
uses: ./.github/workflows/starknet-rs-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.DEV_GOERLI_URL }}/v0_4"
dev-rpc-tests:
needs: [deploy_to_dev]
uses: ./.github/workflows/rpc-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.DEV_MAINNET_URL }}/v0_4"
REPOSITORY_DISPATCH_TOKEN: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
dev-load-tests:
needs: [deploy_to_dev]
uses: ./.github/workflows/load-tests.yml
with:
VUS: '2'
DURATION: '300s'
secrets:
NODE_URL: "${{ secrets.DEV_MAINNET_URL }}/v0_4"
REPOSITORY_DISPATCH_TOKEN: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
deploy_to_staging:
needs: [docker_build_and_publish_amd, deploy_to_dev]
runs-on: ubuntu-latest
environment:
name: Staging
steps:
- name: Repository Dispatch Staging
env:
EVENT_NAME: juno-staging
IMAGE_TAG: ${{ needs.setup.outputs.DOCKER_IMAGE_TAG }}
GOERLI: apps/juno-staging/overlays/staging-goerli-1/config.yaml
INTEGRATION: apps/juno-staging/overlays/staging-integration/config.yaml
MAINNET: apps/juno-staging/overlays/staging-mainnet/config.yaml
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.ACCESS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/NethermindEth/argo/dispatches \
-d '{"event_type": "${{ env.EVENT_NAME }}", "client_payload":{"name": "${{ env.EVENT_NAME }}", "goerli_config": "${{ env.GOERLI }}", "integration_config": "${{ env.INTEGRATION }}", "mainnet_config": "${{ env.MAINNET }}", "tag": "${{ env.IMAGE_TAG }}"}}'
staging-starknet-rs-tests:
needs: [deploy_to_staging]
uses: ./.github/workflows/starknet-rs-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.STAGING_GOERLI_URL }}/v0_4"
staging-rpc-tests:
needs: [deploy_to_staging]
uses: ./.github/workflows/rpc-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.STAGING_MAINNET_URL }}/v0_4"
REPOSITORY_DISPATCH_TOKEN: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
staging-load-tests:
needs: [deploy_to_staging]
uses: ./.github/workflows/load-tests.yml
with:
VUS: '2'
DURATION: '300s'
secrets:
NODE_URL: "${{ secrets.STAGING_MAINNET_URL }}/v0_4"
REPOSITORY_DISPATCH_TOKEN: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}
deploy_to_production:
needs: [docker_build_and_publish_amd, deploy_to_staging]
runs-on: ubuntu-latest
environment:
name: Production
steps:
- name: Repository Dispatch Prod
env:
EVENT_NAME: juno-prod
IMAGE_TAG: ${{ needs.setup.outputs.DOCKER_IMAGE_TAG }}
GOERLI: apps/juno-prod/overlays/prod_goerli-1/config.yaml
INTEGRATION: apps/juno-prod/overlays/prod_integration/config.yaml
MAINNET: apps/juno-prod/overlays/prod_mainnet/config.yaml
run: |
curl -L \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.ACCESS_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/NethermindEth/argo/dispatches \
-d '{"event_type": "${{ env.EVENT_NAME }}", "client_payload":{"name": "${{ env.EVENT_NAME }}", "goerli_config": "${{ env.GOERLI }}", "integration_config": "${{ env.INTEGRATION }}", "mainnet_config": "${{ env.MAINNET }}", "tag": "${{ env.IMAGE_TAG }}"}}'
prod-starknet-rs-tests:
needs: [deploy_to_production]
uses: ./.github/workflows/starknet-rs-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.PROD_GOERLI_URL }}/v0_4"
prod-rpc-tests:
needs: [deploy_to_production]
uses: ./.github/workflows/rpc-tests.yml
secrets:
STARKNET_RPC: "${{ secrets.PROD_MAINNET_URL }}/v0_4"
REPOSITORY_DISPATCH_TOKEN: ${{ secrets.REPOSITORY_DISPATCH_TOKEN }}