expo publish --release-channel is not propagated to TestFlight?

Hello Expo afficionados!


TLDR; my --release-channel seams not working

expo publish --release-channel staging

I wrote an article about how I automated the release of my application with GitHub actions.

My GitHub action looks like this:

// .github/workflows/staging.yml

name: Expo Publish on Staging
on:
  push:
    branches:
      - develop
jobs:
  publish:
    name: Install and publish
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12.x
      - 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
      - run: yarn
      - run: expo publish --release-channel staging

I shipped an application to the store and TestFlight with

expo build:ios --release-channel staging

My problem is
When I merge new pull request to develop it automatically triggers new build with GitHub action
But when I test my application on iOS with TestFlight the code is not updated.

Am I missing something?
I am confused :joy:

I don’t actually see where you are publishing/uploading this to Itunesconnect/testflight? expo publish updates the package, but doesn’t upload it to Testflight.

After publish and you open the app, wait a few seconds and restart the app you should see that it downloaded and updated the package.

1 Like

@dept Thank you for your input

I added this on my github workflow

      - run: expo publish --release-channel staging
      - run: expo upload:ios --latest --apple-id ${{ secrets.EXPO_APPLE_ID }} --apple-id-password ${{ secrets.EXPO_APPLE_ID_PASSWORD }}

but I am facing another issue iOS builds are only supported on macOS

you should run expo upload:ios on a mac in order to get it to apple and then you can put it on test flight through app store connect. uploading to testflight is described here: https://docs.expo.io/distribution/uploading-apps/#22-if-you-choose-to-upload-your

but you don’t need to run upload to get an update once the app is on testflight. if you have a build on testflight that points to the staging release channel, then updates to that channel will pull it. your build needs to specifically indicate what release channel it pulls from, so when you run expo build:ios you need to say expo build:ios --release-channel staging and that binary will always pull from staging (you can’t change where it pulls from after building). release channels are described here: https://docs.expo.io/distribution/release-channels/

Hey @notbrent
Thank you for your answer and I found my issue.
Since the beginning my github-action code is right.

The problem was coming from the delay between the code realeased with expo release channel, the github action and the Slack notification :sweat_smile:

This topic was automatically closed 20 days after the last reply. New replies are no longer allowed.