IOS-8557 Fact0rn integration blockchain #11372
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Tests | |
on: | |
pull_request: | |
branches: | |
- 'releases/**' | |
- 'release' | |
- 'develop' | |
- 'master' | |
types: | |
- opened | |
- reopened | |
- synchronize | |
- ready_for_review | |
merge_group: | |
types: | |
- checks_requested | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
check_if_pr_has_always_run_tests_label: | |
name: Check if the PR has always_run_tests label | |
runs-on: ubuntu-latest | |
outputs: | |
has_always_run_tests_label: ${{ steps.always_run_tests_label_check.outputs.label_check == 'success' }} | |
steps: | |
- id: always_run_tests_label_check | |
if: ${{ github.event_name != 'workflow_dispatch' }} | |
# https://hub.docker.com/r/agilepathway/pull-request-label-checker/tags | |
uses: docker://agilepathway/pull-request-label-checker@sha256:da7c8677e87239522e0c6869ecc4c86d6b7db8b6859ad332b8b1c2129b76177b # v1.6.56 linux/amd64 | |
with: | |
one_of: always_run_tests | |
repo_token: ${{ secrets.GITHUB_TOKEN }} | |
allow_failure: true | |
test: | |
name: Run unit tests | |
runs-on: macos-15 | |
needs: check_if_pr_has_always_run_tests_label | |
if: github.event.pull_request.draft == false || needs.check_if_pr_has_always_run_tests_label.outputs.has_always_run_tests_label == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_MOBILE_PAT }} | |
# When using Github runner images, the preferred way of setting the Ruby version is to use this official action instead of using rvm/rbenv | |
- name: Install Ruby | |
uses: ruby/setup-ruby@a2bbe5b1b236842c1cb7dd11e8e3b51e0a616acc # v1.202.0 | |
# Skipping Ruby installation since it has been already installed by an action above | |
- name: Install required dependencies | |
run: ./bootstrap.sh --skip-ruby | |
- name: Test SPM modules | |
run: bundle exec fastlane test_modules | |
- name: Test host app | |
run: bundle exec fastlane test | |
check_bsdk_example_buildable: | |
name: Check BSDK example project | |
runs-on: [self-hosted, active] # This target requires code signing, so we use self-hosted runners | |
needs: check_if_pr_has_always_run_tests_label | |
if: github.event.pull_request.draft == false || needs.check_if_pr_has_always_run_tests_label.outputs.has_always_run_tests_label == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
submodules: true | |
token: ${{ secrets.GH_MOBILE_PAT }} | |
- name: Install required dependencies | |
run: ./bootstrap.sh | |
- name: Build BSDK example | |
run: | | |
# The initialization of rbenv is required before every `bundle` call since Gihub Actions spawns each 'run' step in a separate process | |
eval "$(rbenv init - bash)" | |
bundle exec fastlane check_bsdk_example_buildable |