diff --git a/.github/actions/checkout-registry/action.yml b/.github/actions/checkout-registry/action.yml new file mode 100644 index 000000000..929ea7539 --- /dev/null +++ b/.github/actions/checkout-registry/action.yml @@ -0,0 +1,28 @@ +name: 'Checkout Registry' +description: 'Checkout the hyperlane-registry repository and move it to the parent directory' +inputs: + registry_version: + description: 'Override the version of the hyperlane-registry to checkout' +runs: + using: 'composite' + steps: + - name: Read .registryrc if registry_version not provided + shell: bash + run: | + if [ -z "${{ inputs.registry_version }}" ]; then + REGISTRY_VERSION=$(cat .registryrc) + echo "REGISTRY_VERSION=$REGISTRY_VERSION" >> $GITHUB_ENV + else + echo "REGISTRY_VERSION=${{ inputs.registry_version }}" >> $GITHUB_ENV + fi + + - name: Checkout hyperlane-registry + uses: actions/checkout@v4 + with: + repository: hyperlane-xyz/hyperlane-registry + ref: ${{ env.REGISTRY_VERSION }} + path: ./hyperlane-registry + + - name: Move hyperlane-registry to parent directory + shell: bash + run: mv ./hyperlane-registry ../ diff --git a/.github/workflows/monorepo-docker.yml b/.github/workflows/monorepo-docker.yml index 629e08acb..67d4f554f 100644 --- a/.github/workflows/monorepo-docker.yml +++ b/.github/workflows/monorepo-docker.yml @@ -10,9 +10,11 @@ on: - 'typescript/infra/**' - 'Dockerfile' - '.dockerignore' + concurrency: group: build-push-monorepo-${{ github.ref }} cancel-in-progress: true + jobs: check-env: runs-on: ubuntu-latest @@ -66,6 +68,13 @@ jobs: registry: gcr.io username: _json_key password: ${{ secrets.GCLOUD_SERVICE_KEY }} + + - name: Read .registryrc + shell: bash + run: | + REGISTRY_VERSION=$(cat .registryrc) + echo "REGISTRY_VERSION=$REGISTRY_VERSION" >> $GITHUB_ENV + - name: Build and push uses: docker/build-push-action@v5 with: @@ -76,6 +85,5 @@ jobs: labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha cache-to: type=gha,mode=max - # To always fetch the latest registry, we use the date as the cache key build-args: | - REGISTRY_CACHE=${{ steps.taggen.outputs.TAG_DATE }} + REGISTRY_COMMIT=${{ env.REGISTRY_VERSION }} diff --git a/.github/workflows/test-skipped.yml b/.github/workflows/test-skipped.yml index 48c7239d7..cba9dc2f3 100644 --- a/.github/workflows/test-skipped.yml +++ b/.github/workflows/test-skipped.yml @@ -28,12 +28,6 @@ jobs: - name: Instant pass run: echo "yarn-build job passed" - checkout-registry: - runs-on: ubuntu-latest - steps: - - name: Instant pass - run: echo "checkout-registry job passed" - lint-prettier: runs-on: ubuntu-latest steps: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2b4144793..ade6f6c26 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -24,8 +24,6 @@ env: LOG_FORMAT: PRETTY CARGO_TERM_COLOR: always RUST_BACKTRACE: full - # Alongside the monorepo in the directory above the $GITHUB_WORKSPACE. - REGISTRY_URI: ${{ github.workspace }}/../hyperlane-registry jobs: yarn-install: @@ -87,31 +85,6 @@ jobs: - name: build run: yarn build - checkout-registry: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - repository: hyperlane-xyz/hyperlane-registry - ref: main - path: ./hyperlane-registry - - # Put alongside the monorepo in the directory above the $GITHUB_WORKSPACE. - # actions/checkout doesn't allow you to checkout a repository outside of the workspace. - # See https://github.com/actions/checkout/issues/197. - - run: mv ./hyperlane-registry ../ - - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - lint-prettier: runs-on: ubuntu-latest needs: [yarn-install] @@ -144,7 +117,7 @@ jobs: yarn-test: runs-on: ubuntu-latest - needs: [yarn-build, checkout-registry] + needs: [yarn-build] steps: - uses: actions/checkout@v4 with: @@ -163,24 +136,15 @@ jobs: !./rust key: ${{ github.event.pull_request.head.sha || github.sha }} - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - fail-on-cache-miss: true + - name: Checkout registry + uses: ./.github/actions/checkout-registry - name: Unit Tests run: yarn test:ci agent-configs: runs-on: ubuntu-latest - needs: [yarn-build, checkout-registry] + needs: [yarn-build] strategy: fail-fast: false matrix: @@ -207,17 +171,8 @@ jobs: !./rust key: ${{ github.event.pull_request.head.sha || github.sha }} - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - fail-on-cache-miss: true + - name: Checkout registry + uses: ./.github/actions/checkout-registry - name: Generate ${{ matrix.environment }} agent config run: | @@ -232,7 +187,7 @@ jobs: e2e-matrix: runs-on: larger-runner if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.base_ref == 'main') || github.event_name == 'merge_group' - needs: [yarn-build, checkout-registry] + needs: [yarn-build] strategy: matrix: e2e-type: [cosmwasm, non-cosmwasm] @@ -293,17 +248,8 @@ jobs: !./rust key: ${{ github.event.pull_request.head.sha || github.sha }} - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - fail-on-cache-miss: true + - name: Checkout registry + uses: ./.github/actions/checkout-registry - name: agent tests with CosmWasm run: cargo test --release --package run-locally --bin run-locally --features cosmos test-utils -- cosmos::test --nocapture @@ -335,7 +281,6 @@ jobs: prebuild-cli-e2e: runs-on: larger-runner if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.base_ref == 'main' || github.base_ref == 'cli-2.0') || github.event_name == 'merge_group' - needs: [checkout-registry] steps: - uses: actions/checkout@v4 with: @@ -449,24 +394,15 @@ jobs: !./rust key: ${{ github.event.pull_request.head.sha || github.sha }} - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - fail-on-cache-miss: true + - name: Checkout registry + uses: ./.github/actions/checkout-registry - name: cli e2e tests run: ./typescript/cli/ci-advanced-test.sh ${{ matrix.test-type }} env-test: runs-on: ubuntu-latest - needs: [yarn-build, checkout-registry] + needs: [yarn-build] strategy: fail-fast: false matrix: @@ -494,17 +430,8 @@ jobs: !./rust key: ${{ github.event.pull_request.head.sha || github.sha }} - # A workaround for relative paths not being supported by actions/cache. - # See https://github.com/actions/upload-artifact/issues/176#issuecomment-1367855630. - - run: echo "REGISTRY_URI_ABSOLUTE=$(realpath $REGISTRY_URI)" >> $GITHUB_ENV - - - name: registry-cache - uses: actions/cache@v4 - with: - path: | - ${{ env.REGISTRY_URI_ABSOLUTE }} - key: hyperlane-registry-${{ github.event.pull_request.head.sha || github.sha }} - fail-on-cache-miss: true + - name: Checkout registry + uses: ./.github/actions/checkout-registry - name: Fork test ${{ matrix.environment }} ${{ matrix.module }} ${{ matrix.chain }} deployment run: cd typescript/infra && ./fork.sh ${{ matrix.environment }} ${{ matrix.module }} ${{ matrix.chain }} diff --git a/.registryrc b/.registryrc new file mode 100644 index 000000000..826e14246 --- /dev/null +++ b/.registryrc @@ -0,0 +1 @@ +v2.1.1 diff --git a/Dockerfile b/Dockerfile index 763e1186f..1a03f74d8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -29,8 +29,7 @@ COPY solidity ./solidity RUN yarn build ENV REGISTRY_URI="/hyperlane-registry" -# To allow us to avoid caching the registry clone, we use a build-time arg to force -# the below steps to be re-run if this arg is changed. -ARG REGISTRY_CACHE="default" - -RUN git clone https://github.com/hyperlane-xyz/hyperlane-registry.git "$REGISTRY_URI" +ARG REGISTRY_COMMIT="main" +RUN git clone https://github.com/hyperlane-xyz/hyperlane-registry.git "$REGISTRY_URI" \ + && cd "$REGISTRY_URI" \ + && git checkout "$REGISTRY_COMMIT" diff --git a/rust/config/mainnet_config.json b/rust/config/mainnet_config.json index e87c823c9..9c4d88372 100644 --- a/rust/config/mainnet_config.json +++ b/rust/config/mainnet_config.json @@ -638,7 +638,8 @@ }, "injective": { "bech32Prefix": "inj", - "blockExplorers": [], + "blockExplorers": [ + ], "blocks": { "confirmations": 1, "estimateBlockTime": 1, @@ -1377,9 +1378,6 @@ }, { "http": "https://zetachain-athens-evm.blockpi.network/v1/rpc/public" - }, - { - "http": "https://zetachain-mainnet-archive.allthatnode.com:8545" } ], "staticAggregationHookFactory": "0xEb9FcFDC9EfDC17c1EC5E1dc085B98485da213D6",