- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Ensure you have added suitable tests and the test suite is passing(
npm test
) - Push the branch (
git push origin my-new-feature
) - Create a new Pull Request
- Make sure the tests are passing in CI for main
- Add a new commit using Semantic Versioning rules.
- Semantic Versioning guidelines entail a format of M.m.p, for example 1.2.3, where:
- The first number represents a major release, which lets users know a breaking change has occurred that will require action from them.
- A major update in the AblyJS SDK will also require a major update in the Spaces API.
- The second number represents a minor release, which lets users know new functionality or features have been added.
- The third number represents a patch release, which represents bug-fixes and may be used when no action should be required from users.
- The commit should update
package.json
, theSpaces.ts
class containing aversion
property andpackage-lock.json
. Runningnpm install
after changingpackage.json
will updatepackage-lock.json
. - Update the README.md for any references to the new version, such as the CDN link.
- Semantic Versioning guidelines entail a format of M.m.p, for example 1.2.3, where:
- Merge the commit into main.
- Tag a release using Github releases. The version needs to match the one from the commit. Use the "Generate release notes" button to add changelog notes and update as required.
- Ensure that the GitHub release action (.github/workflows/release.yml) has run successfully and package was published.
- Run the GitHub CDN publish action (.github/workflows/cdn.yml) with the same tag.
Before running the tests, you first need to initialize the repository’s submodules:
git submodule update --init
To run the Jest tests, simply run the following command:
npm test
To test the bundle that we upload to the CDN:
- Install browser for Playwright to use:
npx run playwright install chromium
- Build the bundle:
npm run build
- Run the test:
npm run test:cdn-bundle