fix(gateway-contracts): add support to ID counters and function params propagation in mock contracts #72
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: Fhevm Gateway Contracts Deployment Tests | |
| on: | |
| pull_request: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-changes: | |
| permissions: | |
| actions: 'read' | |
| contents: 'read' | |
| pull-requests: 'read' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| changes-gw-contracts: ${{ steps.filter.outputs.gw-contracts }} | |
| steps: | |
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
| - uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2 | |
| id: filter | |
| with: | |
| filters: | | |
| gw-contracts: | |
| - .github/workflows/gateway-contracts-deployment-tests.yml | |
| - gateway-contracts/contracts/** | |
| - gateway-contracts/tasks/** | |
| - gateway-contracts/package*.json | |
| - gateway-contracts/hardhat.config.ts | |
| - gateway-contracts/tsconfig.json | |
| - gateway-contracts/Dockerfile | |
| - gateway-contracts/docker-compose.yml | |
| - gateway-contracts/Makefile | |
| fhevm-gateway-sc-deploy: | |
| name: Fhevm Gateway Contracts Deployment Tests | |
| needs: check-changes | |
| if: ${{ needs.check-changes.outputs.changes-gw-contracts == 'true' }} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
| - 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 | |
| - name: Clean up | |
| working-directory: gateway-contracts | |
| if: always() | |
| run: | | |
| make docker-compose-down | |
| permissions: | |
| contents: read | |
| checks: write | |
| packages: read |