Giter Site home page Giter Site logo

silvestrst / hyperlane-monorepo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hyperlane-xyz/hyperlane-monorepo

0.0 0.0 0.0 19.67 MB

The home for Hyperlane core contracts, sdk packages, and other infrastructure

Home Page: https://hyperlane.xyz

License: Other

Shell 0.22% JavaScript 0.01% Rust 37.72% TypeScript 29.82% Nix 0.01% Makefile 0.01% Smarty 0.50% Dockerfile 0.11% Solidity 31.60%

hyperlane-monorepo's Introduction

Hyperlane

Versioning

Note this is the branch for Hyperlane v2.

V1 has since been deprecated in favor of V2, but if you are looking for code relating to the existing V1 deployments of the testnet2 or mainnet environments, refer to the v1 branch.

Overview

Hyperlane is an interchain messaging protocol that allows applications to communicate between blockchains.

Developers can use Hyperlane to share state between blockchains, allowing them to build interchain applications that live natively across multiple chains.

To read more about interchain applications, how the protocol works, and how to integrate with Hyperlane, please see the documentation.

Working on Hyperlane

Workspaces

This monorepo uses Yarn Workspaces. Installing dependencies, building, testing, and running prettier for all packages can be done from the root directory of the repository.

  • Installing dependencies

    yarn install
  • Building

    yarn build

If you are using VSCode, you can launch the multi-root workspace with code mono.code-workspace, install the recommended workspace extensions, and use the editor settings.

Rust

See rust/README.md

Publishing JS/TS Packages

Packages can be versioned and published all at once with commands from the root.

First, increment the version to the desired value:

# An example of a prerelease version
yarn version:prepare 1.1.0-beta0
# Or a release version
yarn version:prepare 1.1.0

Commit this preparation so that it is clear which commit the release is from.

Next, ensure packages are cleaned and rebuilt:

yarn clean && yarn build

Finally, publish the packages to NPM

# Note: If you have not yet logged in, first run yarn npm login
yarn publish:all --otp YOUR_OTP_HERE
# Or for a pre-release, include the tag
yarn publish:all --otp YOUR_OTP_HERE --tag beta

For the git submodules, you will have to undo the removal of the yarn.lock files, yarn install and check in the yarn.lock changes on the submodule as well. Then checkin the updated commits on the monorepo itself.

Make PRs for the monorepo and the submodules.

Tag the commit with the appropriate version, and then create a github release with a changelog against the previous version https://github.com/hyperlane-xyz/hyperlane-monorepo/releases/new

Release Agents

  • Tag the commit with the current date in the format agents-yyyy-mm-dd; e.g. agents-2023-03-28.
  • Create a Github Release with a changelog against the previous version titled Agents MMMM DD, YYYY, e.g. Agents March 28, 2023.
  • Include the agent docker image tag in the description of the release
  • Create a summary of change highlights
  • Create a "breaking changes" section with any changes required
  • Deploy agents with the new image tag (if it makes sense to)

hyperlane-monorepo's People

Contributors

asaj avatar nambrot avatar prestwich avatar tkporter avatar mattiekat avatar yorhodes avatar luketchang avatar erinhales avatar anna-carroll avatar jmrossy avatar snyk-bot avatar yourbuddyconner avatar webbhorn avatar barbaraliau avatar 37ng avatar dependabot[bot] avatar serejke avatar skunkchain avatar brandoncurtis avatar defcon023 avatar timmoreton avatar emberian avatar exdx avatar josedev-union avatar rabib avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.