-
Notifications
You must be signed in to change notification settings - Fork 83
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
update CONTRIBUTING.md + add RELEASING.md (#1583)
* update CONTRIBUTING.md * address PR feedback
- Loading branch information
Showing
2 changed files
with
61 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,48 @@ | ||
## Releasing a new version | ||
# Development | ||
|
||
1. Run `yarn release` in the repository root folder. The next version is chosen automatically based on the changelog entries. If you want to use different version, pass the version string as a positional argument to the command, e.g. `yarn release 1.2.3`. | ||
2. That's it! GitHub Actions is going to take care of the rest. Watch the #eas-cli Slack channel for a successful release notification. | ||
Set up an alias for the EAS CLI so you can try it in projects all around your computer. The project is compiled on the fly so you don't need to run a build (watch) command. | ||
|
||
> The only exception is when you just cloned the repository or there have been changes in `packages/eas-json`. In that case, you'll have to run `yarn build` in the root. | ||
Open your `.zshrc` or other config file and add: | ||
|
||
``` | ||
alias easd="/PATH/TO/eas-cli/bin/run" | ||
``` | ||
|
||
Then use it with `easd` like `easd build`. | ||
|
||
If you're making changes to `packages/eas-json` or prefer/need to work with production code, start the build command in watch mode with: | ||
|
||
``` | ||
yarn start | ||
``` | ||
|
||
## Format | ||
|
||
- Be sure to update the [`CHANGELOG.md`](./CHANGELOG.md) with changes for every PR. There is a changelog bot that can generate the proper entry for you. The instructions on how to use it are in the PR description placeholder. | ||
- End `async` functions with `Async` like `runAsync`. This is just how we format functions at Expo. | ||
- Utilize the unified `Log` module instead of `console.log`. | ||
|
||
## Using local and staging API | ||
|
||
For development against local API: | ||
|
||
- Set up the API server as described at https://github.com/expo/universe/tree/main/server/www. | ||
- Set the `EXPO_LOCAL=1` env variable either on every command run (e.g. `EXPO_LOCAL=1 easd ...`) or more permamently with `export EXPO_LOCAL=1` (works in a current shell session). | ||
|
||
For development against staging API: | ||
|
||
- Set the `EXPO_STAGING=1` env variable either on every command run (e.g. `EXPO_STAGING=1 easd ...`) or more permamently with `export EXPO_STAGING=1` (works in a current shell session). | ||
|
||
## Working on local builds (`eas build --local`) | ||
|
||
See https://github.com/expo/eas-build/blob/main/DEVELOPMENT.md for how to set up your environment when making changes to [`eas-cli-local-build-plugin`](https://github.com/expo/eas-build/tree/main/packages/local-build-plugin) and/or [`build-tools`](https://github.com/expo/eas-build/tree/main/packages/build-tools). | ||
|
||
## Testing | ||
|
||
Run `yarn test` either in the repository root or in a package directory that you're working on. | ||
|
||
## Releasing | ||
|
||
See [RELEASING.md](./RELEASING.md). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Releasing EAS CLI | ||
|
||
1. Run `yarn release` in the repository root folder. The next version is chosen automatically based on the changelog entries. If you want to use different version, pass the version string as a positional argument to the command, e.g. `yarn release 1.2.3`. | ||
2. That's it! GitHub Actions is going to take care of the rest. Watch the #eas-cli Slack channel for a successful release notification. | ||
|
||
## Choosing the next version | ||
|
||
As stated above, the next EAS CLI version is chosen automatically based on the existing changelog entries under the unreleased section in **CHANGELOG.md**. | ||
|
||
The algorithm works as follows: | ||
|
||
- If there are any entries in the "🛠 Breaking changes" section, bump the MAJOR version. | ||
- Otherwise, if there are any entries in the "🎉 New features", bump the MINOR version. | ||
- Otherwise, bump the PATCH version. |