The repository has a CI workflow that will release javascript packages whose version number has changed.
To perform a release, follow these steps:
1. Update the version number in the `package.json` file for the package(s) you wish to release. Please follow [Semantic Versioning](https://semver.org/) for package versions.
2. Submit a PR with the changes and merge them in to main.
3. Create a new release in github with a tag of the form `pyth-js-v<number>`. You can simply increment the version number each time -- it doesn't affect any of the published information.
4. When this release is published, it will automatically trigger a CI workflow to publish the updated packages to NPM.
If you have a javascript package that shouldn't be published, simply add `"private": "true"` to the `package.json` file
and it will be excluded from the publishing workflow.
pre-commit is a tool that checks and fixes simple issues (formatting, ...) before each commit. You can install it by following [their website](https://pre-commit.com/). In order to enable checks for this repo run `pre-commit install` from command-line in the root of this repo.
The checks are also performed in the CI to ensure the code follows consistent formatting.
Integration tests run in Tilt (via the `tilt ci` command). The Tilt CI workflow requires approval from a member of the Pyth team. If you are a member, click on "Details" next to the "Workflow / ci-pyth-crosschain" check in a pull request, and then on the "Resume" button on the workflow page.