Skip to content

Latest commit

 

History

History
57 lines (43 loc) · 2.97 KB

CONTRIBUTING.md

File metadata and controls

57 lines (43 loc) · 2.97 KB

How to contribute to Finschia/wasmvm

First of all, thank you so much for taking your time to contribute! It will be amazing if you could help us by doing any of the following:

Contributor license agreement

When you are sending a pull request and it's a non-trivial change beyond fixing typos, please sign the ICLA (individual contributor license agreement). Please contact us if you need the CCLA (corporate contributor license agreement).

Code of conduct

We expect contributors to follow our code of conduct.

Commit message and Pull Request message

  • Follow Conventional Commit to release note automation.
  • Don't mention or link that can't accessable from public.
  • Use English only. Because this project will be published to the world-wide open-source world. But no worries. We are fully aware of that most of us are not the English-native.

Pull Request Process

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  3. Fill out all sections of the pull request template. That makes it easier to review your PR for the reviewers.
  4. You may merge the pull request in once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer to merge it for you.

Pull Merge Process

  1. Ensure target branch is main.
  2. Ensure pull branch is up to date to the target branch.
  3. Run make test to ensure that all tests pass.
  4. Ensure all conversations are resolved before merging.
  5. Merge pull request with proper merge strategy (usually squash merging).

Release Process

  1. Update the version using the script (devtools/set_version.sh).
  2. Update the changelog using the script (devtools/update_changelog.sh).
    • the script generates and appends new logs to CHANGELOG.md using git-chglog.
  3. Review the changelogs generated by scripts.
  4. Make a release PR with a proper target branch.
    • The PR comment becomes the body of the release note.
  5. Do PR review and merge.
  6. After merging it, CI will detect version changes.
    • comparing with a previously released version using cargo command (cargo tree -i wasmvm)
  7. CI will create a new version tag and publish artifacts with release notes.