| # @generated DO NOT EDIT MANUALLY |
| # Template is at: .github/templates/ios_ci_workflow.yml.j2 |
| # Generation script: .github/scripts/generate_ci_workflows.py |
| name: ios-12-5-1-arm64-custom-ops |
| |
| on: |
| pull_request: |
| types: [opened, synchronize, reopened, unassigned] |
| push: |
| branches: |
| - master |
| - release/* |
| workflow_dispatch: |
| |
| # For setup-miniconda, see https://github.com/conda-incubator/setup-miniconda/issues/179 |
| defaults: |
| run: |
| shell: bash -x -e -l {0} |
| env: |
| BUILD_ENVIRONMENT: ios-12-5-1-arm64-custom-ops |
| IN_CI: 1 |
| IS_GHA: 1 |
| |
| jobs: |
| |
| ciflow_should_run: |
| runs-on: ubuntu-18.04 |
| timeout-minutes: 240 |
| env: |
| IS_PROBOT_TRIGGER_EVENT: ${{ (github.event.action == 'unassigned') && (github.event.assigneed.login == 'pytorchbot') }} |
| LABEL_CONDITIONS: ${{ contains(github.event.pull_request.labels.*.name, 'ciflow/all') || contains(github.event.pull_request.labels.*.name, 'ciflow/ios') || contains(github.event.pull_request.labels.*.name, 'ciflow/macos') }} |
| LABELS: ${{ toJson(github.event.pull_request.labels.*.name) }} |
| if: ${{ (github.repository == 'pytorch/pytorch') && ( |
| (github.event_name == 'push') || |
| (github.event_name == 'schedule') || |
| (contains(github.event.pull_request.labels.*.name, 'ciflow/all') || contains(github.event.pull_request.labels.*.name, 'ciflow/ios') || contains(github.event.pull_request.labels.*.name, 'ciflow/macos')) || |
| (false)) |
| }} |
| steps: |
| - name: noop |
| run: echo running ciflow_should_run |
| - name: print labels |
| run: echo "${LABELS}" |
| |
| build: |
| runs-on: macos-10.15 |
| needs: [ciflow_should_run] |
| timeout-minutes: 240 |
| env: |
| JOB_BASE_NAME: ios-12-5-1-arm64-custom-ops-build |
| IOS_CERT_KEY_2022: ${{ secrets.IOS_CERT_KEY_2022 }} |
| IOS_SIGN_KEY_2022: ${{ secrets.IOS_SIGN_KEY_2022 }} |
| steps: |
| - name: Checkout PyTorch |
| uses: zhouzhuojie/checkout@05b13c9a0d21f08f6d5e64a1d5042246d13619d9 |
| with: |
| # deep clone, to allow use of git merge-base |
| fetch-depth: 0 |
| submodules: recursive |
| - name: Setup miniconda |
| uses: conda-incubator/setup-miniconda@v2 |
| with: |
| auto-update-conda: true |
| python-version: 3.8 |
| activate-environment: build |
| - name: Install ios / conda Dependencies |
| run: | |
| # Install dependencies |
| brew install libtool |
| conda install numpy ninja pyyaml mkl mkl-include setuptools cmake cffi requests typing_extensions --yes |
| - name: Run Fastlane |
| shell: bash -e {0} |
| run: | |
| set -x |
| cd ios/TestApp |
| # install fastlane |
| sudo gem install bundler && bundle install |
| # install certificates |
| echo "${IOS_CERT_KEY_2022}" >> cert.txt |
| base64 --decode cert.txt -o Certificates.p12 |
| rm cert.txt |
| bundle exec fastlane install_root_cert |
| bundle exec fastlane install_dev_cert |
| # install the provisioning profile |
| PROFILE=PyTorch_CI_2022.mobileprovision |
| PROVISIONING_PROFILES=~/Library/MobileDevice/Provisioning\ Profiles |
| mkdir -pv "${PROVISIONING_PROFILES}" |
| cd "${PROVISIONING_PROFILES}" |
| echo "${IOS_SIGN_KEY_2022}" >> cert.txt |
| base64 --decode cert.txt -o ${PROFILE} |
| rm cert.txt |
| - name: Build |
| run: | |
| export TCLLIBPATH="/usr/local/lib" |
| python -VV |
| export CMAKE_PREFIX_PATH=${CONDA_PREFIX:-"$(dirname "$(which conda)")/../"} |
| scripts/build_ios.sh |
| |
| |
| concurrency: |
| group: ios-12-5-1-arm64-custom-ops-${{ github.event.pull_request.number || github.sha }}-${{ github.event_name == 'workflow_dispatch' }} |
| cancel-in-progress: true |