| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- name: Reusable Release Quickstart Test
- on:
- workflow_call:
- inputs:
- product:
- description: 'The product name (e.g., abtesting, auth).'
- required: true
- type: string
- runs-on:
- description: 'The runner to use (e.g., macos-14).'
- required: true
- type: string
- legacy:
- description: 'A boolean to indicate if it is a legacy quickstart.'
- required: false
- type: boolean
- default: false
- xcode-version:
- description: 'Optional Xcode version.'
- required: false
- type: string
- test-objc:
- description: 'A boolean to indicate if obj-c tests should run.'
- required: false
- type: boolean
- default: false
- test-swift:
- description: 'A boolean to indicate if swift tests should run.'
- required: false
- type: boolean
- default: true
- extra-setup:
- description: 'A string for any extra setup commands.'
- required: false
- type: string
- secrets:
- plist_secret:
- required: true
- bot_access_token:
- required: true
- jobs:
- quickstart:
- if: (github.repository == 'Firebase/firebase-ios-sdk' && github.event_name == 'schedule') || github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch'
- runs-on: ${{ inputs.runs-on }}
- env:
- plist_secret: ${{ secrets.plist_secret }}
- botaccess: ${{ secrets.bot_access_token }}
- LEGACY: ${{ inputs.legacy }}
- steps:
- - uses: actions/checkout@v4
- - uses: ruby/setup-ruby@354a1ad156761f5ee2b7b13fa8e09943a5e8d252 # v1
- - name: Select Xcode version
- if: ${{ inputs.xcode-version != '' }}
- run: sudo xcode-select -s /Applications/Xcode_${{ inputs.xcode-version }}.app/Contents/Developer
- - name: Setup testing repo and quickstart
- run: BOT_TOKEN="${{ secrets.bot_access_token }}" scripts/setup_quickstart.sh ${{ inputs.product }} nightly_release_testing
- - name: Install Secret GoogleService-Info.plist
- run: |
- scripts/decrypt_gha_secret.sh \
- scripts/gha-encrypted/qs-${{ inputs.product }}.plist.gpg \
- quickstart-ios/${{ inputs.product }}/GoogleService-Info.plist \
- "${{ secrets.plist_secret }}"
- - name: Extra setup
- if: ${{ inputs.extra-setup != '' }}
- run: ${{ inputs.extra-setup }}
- - name: Test objc quickstart
- if: ${{ inputs.test-objc }}
- run: |
- ([ -z "${{ secrets.plist_secret }}" ] || \
- scripts/third_party/travis/retry.sh scripts/test_quickstart.sh \
- ${{ inputs.product }} ${{ inputs.legacy }})
- - name: Test swift quickstart
- if: ${{ inputs.test-swift }}
- run: |
- ([ -z "${{ secrets.plist_secret }}" ] || \
- scripts/third_party/travis/retry.sh scripts/test_quickstart.sh \
- ${{ inputs.product }} ${{ inputs.legacy }} swift)
- - name: Remove data before upload
- if: ${{ failure() }}
- run: scripts/remove_data.sh ${{ inputs.product }}
- - uses: actions/upload-artifact@v4
- if: ${{ failure() }}
- with:
- name: quickstart_artifacts_${{ inputs.product }}
- path: quickstart-ios/
|