Skip to content

Latest commit

 

History

History
59 lines (39 loc) · 2.96 KB

CONTRIBUTING.md

File metadata and controls

59 lines (39 loc) · 2.96 KB

Contributing to Expo GitHub Action

📦 Download and Setup

  1. Fork this repository to your own GitHub account and then clone it to your local device. (git remote add upstream [email protected]:expo/expo-github-action.git 😉)
  2. Make sure you have the following packages globally installed on your system:
    • node (active Node LTS or higher is recommended)
    • yarn
  3. Install the Node packages (yarn install)

🏎️ Running a custom version

To try out your changes with GitHub Action, you have to reference your fork and/or branch or commit reference in the workflow you want to try. After that, you have two options:

  1. Run the workflow in GitHub Actions itself by triggering your workflow.
  2. Run the workflow locally with nektos/act.

🧪 Testing

Testing is done using Jest. Run yarn test to run Jest.

If your PR is ready, run the test workflow to test the workflows on all supported OS system.

📝 Writing a Commit Message

If this is your first time committing to a large public repo, you could look through this neat tutorial: "How to Write a Git Commit Message"

Commit messages are formatted using the Conventional Commits format. You can take a look at .releaserc.js for the allowed commit types.

docs: fix typo in xxx
feature: add support for SDK 40
chore: add test-case for custom completions
fix: improve logging for errors
refactor: update loading icon

🔎 Before Submitting a PR

To get your PR merged as fast as possible, please make sure you have done the following:

  • Run yarn lint --fix to fix the formatting of the code. Ensure that yarn lint succeeds without errors or warnings.
  • Run yarn test to make sure all normal use cases are passing.
  • Run yarn build to ensure the build is up-to-date and runs correctly and without errors or warnings.

🚀 Releasing a new version

To release a new version for GitHub Actions, we have to create a new release in GitHub. You can run the Release workflow to generate a new version, changelog, and GitHub release.

That workflow also bumps up the major version tag, like v7. In cases of failure, you could run this manually.

$ git checkout main
$ git fetch --tags && git pull
$ git tag --force v{major}
$ git push --force --tags

When the release is fully tagged and ready, we still need to submit it to the marketplace. You can do that by editing the published version on GitHub's release page. Just saving it again notifies the marketplace of the new version.