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",