weechatRN

Weechat relay client for iOS using websockets https://github.com/mhoran/weechatRN
git clone http://git.hanabi.in/repos/weechatRN.git
Log | Files | Refs | README | LICENSE

commit 1e234485935da5ffac5f02bfcab620ab85a55ba0
parent 641377b73b56689c1d0f58b01e14c5e62ff8650e
Author: Melissa Xie <me@melissaxie.com>
Date:   Tue, 16 Nov 2021 20:44:56 -0500

Split up workflow into multiple jobs

For finer control over each step of the publication process. The gist of
how this works is:

1. Build and publish the app via Expo
2. Download the binary from Expo
3. Upload the binary as an artifact
4. Push the artifact to Fastlane

It's a lot of uploading and downloading but because this is broken up in
multiple jobs, we don't have to risk restarting the entire process if
something fails in between. Instead, we could re-run the specific job
that we need.

Diffstat:
M.github/workflows/publish.yml | 40++++++++++++++++++++++++++++++++++------
1 file changed, 34 insertions(+), 6 deletions(-)

diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml @@ -5,14 +5,18 @@ on: types: [created] jobs: - publish-to-testflight: + build-app: + name: Build iOS app runs-on: macos-latest steps: - uses: actions/checkout@v2 - - uses: actions/setup-node@v1 + - name: Set up Node + uses: actions/setup-node@v1 with: node-version: 12 - - uses: expo/expo-github-action@v6 + cache: yarn + - name: Set up Expo + uses: expo/expo-github-action@v6 with: expo-version: 4.x username: ${{secrets.EXPO_CLI_USERNAME}} @@ -22,9 +26,33 @@ jobs: env: EXPO_APPLE_ID: ${{secrets.EXPO_APPLE_ID}} EXPO_APPLE_PASSWORD: ${{secrets.EXPO_APPLE_PASSWORD}} - - run: curl -O `expo url:ipa` - - run: gem install fastlane -N - - run: fastlane pilot upload + fetch-binary: + name: Fetch binary + runs-on: macos-latest + needs: build-app + steps: + - uses: actions/checkout@v2 + - name: Download from Expo + run: curl -O `expo url:ipa` + - name: Upload binary as artifact + uses: actions/upload-artifact@v2.2.4 + with: + name: binary + path: *.ipa + publish-to-testflight: + name: Publish to TestFlight + runs-on: macos-latest + needs: [build-app, download-binary] + steps: + - uses: actions/checkout@v2 + - name: Download binary from artifacts + uses: actions/download-artifact@v2.0.10 + with: + name: binary + - name: Install fastlane + run: gem install fastlane -N + - name: Upload to fastlane + run: fastlane pilot upload env: FASTLANE_USER: ${{secrets.EXPO_APPLE_ID}} FASTLANE_PASSWORD: ${{secrets.EXPO_APPLE_PASSWORD}}