chore(protocol-contracts): clean hardhat config #4958
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: gateway-contracts-deployment-tests | |
| permissions: {} | |
| on: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-changes: | |
| name: gateway-contracts-deployment-tests/check-changes | |
| permissions: | |
| actions: 'read' # Required to read workflow run information | |
| contents: 'read' # Required to checkout repository code | |
| pull-requests: 'read' # Required to read pull request information | |
| runs-on: ubuntu-latest | |
| outputs: | |
| changes-gw-contracts: ${{ steps.filter.outputs.gw-contracts }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| persist-credentials: 'false' | |
| - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
| id: filter | |
| with: | |
| filters: | | |
| gw-contracts: | |
| - .github/workflows/gateway-contracts-deployment-tests.yml | |
| - gateway-contracts/** | |
| sc-deploy: | |
| name: gateway-contracts-deployment-tests/sc-deploy (bpr) | |
| needs: check-changes | |
| if: ${{ needs.check-changes.outputs.changes-gw-contracts == 'true' }} | |
| permissions: | |
| contents: 'read' # Required to checkout repository code | |
| checks: 'write' # Required to create GitHub checks for test results | |
| packages: 'read' # Required to read GitHub packages/container registry | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| with: | |
| persist-credentials: 'false' | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0 | |
| - name: Login to Docker Registry | |
| uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Build and start Docker services | |
| working-directory: gateway-contracts | |
| run: | | |
| make docker-compose-build | |
| make docker-compose-up | |
| - name: Check smart contract deployment | |
| working-directory: gateway-contracts | |
| run: | | |
| ## Check Contracts Deployment | |
| timeout 300s bash -c 'while docker ps --filter "name=deploy-gateway-contracts" --format "{{.Status}}" | grep -q "Up"; do sleep 5; done' | |
| docker compose logs deploy-gateway-contracts > deployment_logs.txt | |
| EXIT_CODE_SC=$(docker inspect --format='{{.State.ExitCode}}' deploy-gateway-contracts) | |
| # display logs for debugging | |
| # cat deployment_logs.txt | |
| if [ "$EXIT_CODE_SC" -ne 0 ]; then | |
| echo "Deployment failed with exit code $EXIT_CODE_SC" | |
| exit 1 | |
| elif ! grep -q "Contract deployment done!" deployment_logs.txt; then | |
| echo "Deployment did not complete successfully - 'Contract deployment done!' message not found in logs" | |
| exit 1 | |
| else | |
| echo "Deployment completed successfully with expected completion message" | |
| fi | |
| ## Check Host Chain Registration | |
| timeout 300s bash -c 'while docker ps --filter "name=add-host-chains" --format "{{.Status}}" | grep -q "Up"; do sleep 5; done' | |
| docker compose logs add-host-chains > host_chain_registration_logs.txt | |
| EXIT_CODE_HOST_CHAIN=$(docker inspect --format='{{.State.ExitCode}}' add-host-chains) | |
| # display logs for debugging | |
| # cat host_chain_registration_logs.txt | |
| if [ "$EXIT_CODE_HOST_CHAIN" -ne 0 ]; then | |
| echo "Host chain registration failed with exit code $EXIT_CODE_HOST_CHAIN" | |
| exit 1 | |
| elif ! grep -q "Host chains registration done!" host_chain_registration_logs.txt; then | |
| echo "Host chain registration did not complete successfully - 'Host chains registration done!' message not found in logs" | |
| exit 1 | |
| else | |
| echo "Host chain registration completed successfully with expected completion message" | |
| fi | |
| ## Check key generation triggering | |
| timeout 300s bash -c 'while docker ps --filter "name=trigger-keygen" --format "{{.Status}}" | grep -q "Up"; do sleep 5; done' | |
| docker compose logs trigger-keygen > keygen_logs.txt | |
| EXIT_CODE_KEYGEN=$(docker inspect --format='{{.State.ExitCode}}' trigger-keygen) | |
| if [ "$EXIT_CODE_KEYGEN" -ne 0 ]; then | |
| echo "Key generation triggering failed with exit code $EXIT_CODE_KEYGEN" | |
| exit 1 | |
| elif ! grep -q "Keygen triggering done!" keygen_logs.txt; then | |
| echo "Key generation triggering did not complete successfully - 'Keygen triggering done!' message not found in logs" | |
| exit 1 | |
| else | |
| echo "Key generation triggering completed successfully with expected completion message" | |
| fi | |
| ## Check CRS generation triggering | |
| timeout 300s bash -c 'while docker ps --filter "name=trigger-crsgen" --format "{{.Status}}" | grep -q "Up"; do sleep 5; done' | |
| docker compose logs trigger-crsgen > crsgen_logs.txt | |
| EXIT_CODE_CRSGEN=$(docker inspect --format='{{.State.ExitCode}}' trigger-crsgen) | |
| if [ "$EXIT_CODE_CRSGEN" -ne 0 ]; then | |
| echo "CRS generation triggering failed with exit code $EXIT_CODE_CRSGEN" | |
| exit 1 | |
| elif ! grep -q "Crsgen triggering done!" crsgen_logs.txt; then | |
| echo "CRS generation triggering did not complete successfully - 'Crsgen triggering done!' message not found in logs" | |
| exit 1 | |
| else | |
| echo "CRS generation triggering completed successfully with expected completion message" | |
| fi | |
| - name: Clean up | |
| working-directory: gateway-contracts | |
| if: always() | |
| run: | | |
| make docker-compose-down |