diff --git a/.github/workflows/expo-preview.yml b/.github/workflows/expo-preview.yml
new file mode 100644
index 00000000..d5d7b95c
--- /dev/null
+++ b/.github/workflows/expo-preview.yml
@@ -0,0 +1,49 @@
+name: Expo Preview
+on: [pull_request]
+
+jobs:
+ publish:
+ name: Install and publish
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v1
+
+ - name: Setup Node.js
+ uses: actions/setup-node@v1
+ with:
+ node-version: 12.x
+
+ - name: Setup Expo
+ uses: expo/expo-github-action@v5
+ with:
+ expo-version: 3.x
+ expo-username: ${{ secrets.EXPO_CLI_USERNAME }}
+ expo-password: ${{ secrets.EXPO_CLI_PASSWORD }}
+ expo-cache: true
+
+ - name: Get yarn cache
+ id: yarn-cache
+ run: echo "::set-output name=dir::$(yarn cache dir)"
+
+ - name: Check yarn cache
+ uses: actions/cache@v1
+ with:
+ path: ${{ steps.yarn-cache.outputs.dir }}
+ key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
+ restore-keys: |
+ ${{ runner.os }}-yarn-
+
+ - name: Install dependencies
+ run: yarn
+
+ - name: Publish Expo app
+ working-directory: ./example
+ run: expo publish --release-channel=pr-${{ github.event.number }}
+
+ - name: Comment on PR
+ uses: unsplash/comment-on-pr@master
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ msg: The Expo app for the example from this branch is ready!
.
diff --git a/example/app.json b/example/app.json
index 482ce348..1ed426f0 100644
--- a/example/app.json
+++ b/example/app.json
@@ -3,6 +3,7 @@
"displayName": "React Navigation Example",
"expo": {
"name": "@react-navigation/example",
+ "owner": "react-navigation",
"slug": "react-navigation-example",
"description": "Demo app to showcase various functionality of React Navigation",
"privacy": "public",