Skip to content

Commit 4766fa8

Browse files
committed
docs: write about entry point proxy and restructure for easy access
1 parent caf499b commit 4766fa8

1 file changed

Lines changed: 32 additions & 17 deletions

File tree

README.md

Lines changed: 32 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ Publish, build or manage your [Expo][link-expo] Project with GitHub Actions!
66
This repository contains a prebuilt base image with GitHub Actions implementations.
77
You can also use [the base image][link-base] in other Docker-based environments.
88

9+
1. [What's inside?](#whats-inside)
10+
2. [Used secrets](#used-secrets)
11+
3. [Example workflows](#example-workflows)
12+
4. [Things to know](#things-to-know)
13+
914
## What's inside?
1015

1116
Within this Expo CLI action, you have full access to the original [Expo CLI][link-expo-cli].
@@ -16,14 +21,7 @@ Also, this action will authenticate automatically when both `EXPO_CLI_USERNAME`
1621
> You can also add `expo-cli` as a dependency to your project and use the official [NPM action][link-actions-npm] for example.
1722
> However, when you do that you need to manage authentication yourself.
1823
19-
### Why use a base-image?
20-
21-
Every GitHub action will start from scratch using the dockerfile as the starting point.
22-
If you define `expo-cli` in this dockerfile, it will install it every time you run an action.
23-
By using [a prebuilt image][link-base], it basically "skips" the process of downloading the full CLI over and over again.
24-
This makes the Expo actions overall faster.
25-
26-
### Used secrets
24+
## Used secrets
2725

2826
To authenticate with your Expo account, use the variables listed below.
2927
In the Expo action you can define `secrets = ["EXPO_CLI_USERNAME", "EXPO_CLI_PASSWORD"]` to have them available.
@@ -36,15 +34,6 @@ variable | description
3634
> Some Expo commands don't require authentication.
3735
> Simply omit the `secrets = [...]` if you don't need it.
3836
39-
### Some caveats
40-
41-
#### Overwriting `NODE_OPTIONS`
42-
43-
By default, Node has a "limited" memory limit.
44-
To fully use the available memory in GitHub Actions, the `NODE_OPTIONS` variable is set to `--max_old_space_size=4096`.
45-
If you need to overwrite this variable, make sure you add this value too or risk Node running out of memory.
46-
See [issue #12][link-issue-memory] for more info.
47-
4837
## Example workflows
4938

5039
Before you dive into the workflow examples, you should know the basics of GitHub Actions.
@@ -148,6 +137,29 @@ action "Build" {
148137
}
149138
```
150139

140+
### Things to know
141+
142+
#### Automatic Expo login
143+
144+
You need to authenticate for some Expo commands, like `expo publish` and `expo build:*`.
145+
This project has an additional feature to make this easy and secure.
146+
The [`entrypoint.sh`][link-expo-cli-proxy] is a simple bash script which is [set as a proxy for the original `expo` command][link-docker-expo-proxy].
147+
If you don't want to use this, you can call the original Expo command directly using `expo-cli publish`.
148+
149+
#### Why use a base-image?
150+
151+
Every GitHub action will start from scratch using the dockerfile as the starting point.
152+
If you define `expo-cli` in this dockerfile, it will install it every time you run an action.
153+
By using [a prebuilt image][link-base], it basically "skips" the process of downloading the full CLI over and over again.
154+
This makes the Expo actions overall faster.
155+
156+
#### Overwriting `NODE_OPTIONS`
157+
158+
By default, Node has a "limited" memory limit.
159+
To fully use the available memory in GitHub Actions, [the `NODE_OPTIONS` variable is set to `--max_old_space_size=4096`][link-docker-node-options].
160+
If you need to overwrite this variable, make sure you add this value too or risk Node running out of memory.
161+
See [issue #12][link-issue-memory] for more info.
162+
151163
## License
152164

153165
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.
@@ -161,7 +173,10 @@ The MIT License (MIT). Please see [License File](LICENSE.md) for more informatio
161173
[link-actions]: https://developer.github.com/actions/
162174
[link-actions-npm]: https://github.com/actions/npm
163175
[link-base]: base/3
176+
[link-docker-expo-proxy]: Dockerfile#L7
177+
[link-docker-node-options]: Dockerfile#L11
164178
[link-expo]: https://expo.io
165179
[link-expo-cli]: https://docs.expo.io/versions/latest/workflow/expo-cli
166180
[link-expo-cli-password]: https://github.com/expo/expo-cli/blob/8ea616d8848a123270b97e226e33dcb3dde49653/packages/expo-cli/src/accounts.js#L94
181+
[link-expo-cli-proxy]: entrypoint.sh
167182
[link-issue-memory]: https://github.com/expo/expo-github-action/issues/12

0 commit comments

Comments
 (0)