You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,16 +10,16 @@
10
10
11
11
## 🏎️ Running a custom version
12
12
13
-
To try out your changed with GitHub Action, you have [to reference your fork and/or branch or commit reference](https://docs.github.com/en/actions/learn-github-actions/finding-and-customizing-actions#using-release-management-for-your-custom-actions) in the workflow you want to try. After that, you have two options:
13
+
To try out your changes with GitHub Action, you have [to reference your fork and/or branch or commit reference](https://docs.github.com/en/actions/learn-github-actions/finding-and-customizing-actions#using-release-management-for-your-custom-actions) in the workflow you want to try. After that, you have two options:
14
14
15
15
1. Run the workflow in GitHub Actions itself by triggering your workflow.
16
16
2. Run the workflow locally with [nektos/act](https://github.com/nektos/act).
17
17
18
-
## ✅ Testing
18
+
## 🧪 Testing
19
19
20
20
Testing is done using [Jest](https://jestjs.io/https://jestjs.io/). Run `yarn test` to run Jest.
21
21
22
-
In CI we are running tests on multiple Node versions using Windows, Linux, and MacOS. Make sure they are passing for your PR.
22
+
If your PR is ready, run the **test** workflow to test the workflows on all supported OS system.
msg: App is ready for review, you can [see it here](https://expo.dev/@bycedric/use-expo?release-channel=pr-${{ github.event.number }}).
149
+
msg: App is ready for review, you can [see it here](https://expo.dev/@${{ env.projectOwner }}/${{ env.projectSlug }}?release-channel=pr-${{ github.event.number }}).\n\n<img src="https://qr.expo.dev/expo-go?owner=${{ env.projectOwner }}&slug=${{ env.projectSlug }}&releaseChannel=pr-${{ github.event.number }}" height="200px" width="200px"></a>
189
150
```
190
151
191
-
### Test PRs on multiple nodes and systems
152
+
### Test PRs on multiple node versions and systems
192
153
193
154
With GitHub Actions, it's reasonably easy to set up a matrix build and test the app on multiple environments.
194
155
These matrixes can help to make sure your app runs smoothly on a broad set of different development machines.
195
156
196
157
> If you don't need automatic authentication, you can omit the `token` variables.
197
158
198
159
```yml
199
-
name: Expo CI
200
160
on: [pull_request]
201
161
jobs:
202
162
ci:
203
-
name: Continuous Integration
204
163
runs-on: ${{ matrix.os }}
205
164
strategy:
206
165
matrix:
207
166
os: [ubuntu-latest, macOS-latest, windows-latest]
208
-
node: [10, 12, 13]
167
+
node: [14.x, 16.x]
209
168
steps:
210
169
- uses: actions/checkout@v2
211
170
- uses: actions/setup-node@v2
212
171
with:
213
172
node-version: ${{ matrix.node }}
173
+
cache: yarn
214
174
- uses: expo/expo-github-action@v6
215
175
with:
216
-
expo-version: 4.x
176
+
expo-version: 5.x
217
177
- run: yarn install
218
178
- run: yarn test
219
179
- run: expo doctor
220
180
```
221
181
222
-
### Test and build web every day at 08:00
223
-
224
-
You can also schedule jobs by using the cron syntax.
225
-
It can help to minimize the number of updates your users have to install.
226
-
227
-
```yml
228
-
name: Expo Daily CI
229
-
on:
230
-
schedule:
231
-
- cron: 0 8 * * *
232
-
jobs:
233
-
ci:
234
-
name: Daily Continuous Integration
235
-
runs-on: ubuntu-latest
236
-
steps:
237
-
- uses: actions/checkout@v2
238
-
- uses: actions/setup-node@v2
239
-
with:
240
-
node-version: 14.x
241
-
- uses: expo/expo-github-action@v6
242
-
with:
243
-
expo-version: 4.x
244
-
- run: yarn install
245
-
- run: yarn test
246
-
- run: expo build:web
247
-
```
248
-
249
-
### Authenticate using credentials
250
-
251
-
Instead of using an access token, you can also authenticate using credentials.
252
-
This is only possible when Expo CLI is installed.
253
-
254
-
```yml
255
-
name: Expo Publish
256
-
on:
257
-
push:
258
-
branches:
259
-
- main
260
-
jobs:
261
-
publish:
262
-
name: Install and publish
263
-
runs-on: ubuntu-latest
264
-
steps:
265
-
- uses: actions/checkout@v2
266
-
- uses: actions/setup-node@v2
267
-
with:
268
-
node-version: 14.x
269
-
- uses: expo/expo-github-action@v6
270
-
with:
271
-
expo-version: 4.x
272
-
username: ${{ secrets.EXPO_CLI_USERNAME }}
273
-
password: ${{ secrets.EXPO_CLI_PASSWORD }}
274
-
- run: yarn install
275
-
- run: expo publish
276
-
```
277
-
278
182
## Things to know
279
183
280
184
### Automatic Expo login
281
185
282
186
You need to authenticate for some Expo commands like `expo publish` and `expo build`.
283
-
This action gives you configuration options to keep your workflow simple.
284
-
You can choose if you want to authenticate using an `EXPO_TOKEN` or account credentials.
285
-
Under the hood, it uses the [`EXPO_CLI_PASSWORD`][link-expo-cli-password] environment variable to make credentials authentication as secure as possible.
187
+
This action can export the `EXPO_TOKEN` variable to access it in every step.
286
188
287
-
> Note, this action only uses your token or credentials to authenticate with Expo. It doesn't store these anywhere.
189
+
> Note, this action does not store the token anywhere. For every seperate job, you need to setup the token.
288
190
289
191
### Using the built-in cache
290
192
291
193
You can opt-in to caching the installation, making it a lot faster.
292
-
Under the hood, it uses the [`@action/cache`][link-actions-cache-package] package to restore the Expo CLI installation.
194
+
Under the hood, it uses the [`@actions/cache`][link-actions-cache-package] package to restore the Expo CLI installation.
293
195
This action generates a unique cache key for the OS, used packager, and exact version of the Expo CLI.
294
-
If you need more control over this cache, you can define a custom cache key with `expo-cache-key`.
295
196
296
197
> Note, this cache will count towards your [repo cache limit][link-actions-cache-limit]. The Expo and EAS CLI are stored in different caches.
297
198
@@ -312,11 +213,9 @@ You can disable this patch by setting the `patch-watchers` to `false`.
0 commit comments