Skip to content

Conversation

@xta0
Copy link
Contributor

@xta0 xta0 commented Sep 8, 2019

Stack from ghstack:

Summary:

The CI jobs for iOS builds are missing, this PR creates two jobs in Cricle CI's PR workflow

  • pytorch_ios_10_2_1_x86_64_build
  • pytorch_ios_10_2_1_arm64_build

Note:

Those two jobs will not store any artifacts nor upload any binary files, which will be done in the next PR.

Test Plan:

  • Jobs can be triggered by any PR.
  • Jobs can be run successfully.

Differential Revision: D17255504

Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

Note:

These tow jobs will not store any artifacts nor upload any binary files. Those will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.
@pytorchbot pytorchbot added the module: ci Related to continuous integration label Sep 8, 2019
Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

Note:

These tow jobs will not store any artifacts nor upload any binary files. Those will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.
Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

Note:

These tow jobs will not store any artifacts nor upload any binary files. Those will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.
@xta0 xta0 requested review from kostmo and ljk53 September 9, 2019 00:01
@xta0 xta0 added the module: ios Related to iOS support - build, API, Continuous Integration, document label Sep 9, 2019
### Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

### Note:

Those two jobs will not store any artifacts nor upload any binary files, which will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.

Differential Revision: [D17255504](https://our.internmc.facebook.com/intern/diff/D17255504)
### Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

### Note:

Those two jobs will not store any artifacts nor upload any binary files, which will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.

Differential Revision: [D17255504](https://our.internmc.facebook.com/intern/diff/D17255504)
xta0 added a commit that referenced this pull request Sep 9, 2019
Summary:

The CI jobs for iOS builds are missing, this PR creates a workflow which will two PR jobs:

- pytorch_ios_10_2_1_x86_64_build
- pytorch_ios_10_2_1_arm64_build

Note:

These tow jobs will not store any artifacts nor upload any binary files. Those will be done in the next PR.

Test Plan:

- The jobs can be triggered by any PR.
- The jobs can be run successfully.

ghstack-source-id: 4509502
Pull Request resolved: #25840
@xta0 xta0 requested a review from ezyang September 9, 2019 03:20
brew install moreutils
brew link parallel --overwrite
brew install expect
brew install libtool
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems like a direct copy paste binary_macos_brew_update (except that it is missing the brew untap caskroom/homebrew-cask command, but arguably it should do that here too). Can't we just use binary_macos_brew_update instead (perhaps renaming it to more clearly say something like, macos_brew_update_nolibomp)? Without deduplicating, there's now three places you'd have to update if there were tweaks to this block.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also added the libtool at the end. I remember I ran into some error when running brew untap caskroom/homebrew-cask.

USE_CUDA_DOCKER_RUNTIME: << parameters.use_cuda_docker_runtime >>
resource_class: << parameters.resource_class >>

pytorch_ios_params: &pytorch_ios_params
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: if the parameters are only used from only one location, it's clearer if they're inlined at the single use site (you do not have to do anything about this comment)

Copy link
Contributor

@ezyang ezyang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

okey dokey

@facebook-github-bot
Copy link
Contributor

@xta0 merged this pull request in 13292ec.

xta0 added a commit that referenced this pull request Sep 16, 2019
### Summary

Previously we have enabled the CI jobs for Pull Requests and nightly build

-  **#25840 [iOS][Circle CI] Add PR jobs for iOS builds**
-  **#26074 [IOS][CIRCLE CI] Nightly jobs for iOS builds**

The testing phase is missing in the nightly build process.  Although we are able to generate the build and upload it to the AWS,  there is no way to know whether the binary is valid or not (there could be a linking error). To add the test phase to the process, we need 

1. Put a dummy test App in the repo.
2. After the build jobs finishes, manually link the static libs to the dummy app to produce an executable using the xcode tool chain.
3. If there is no linking error, then upload the binaris to AWS. If there is an error, then stops the following process and reports an error in CI.

The second and third steps depends on the first step which needs to be landed first. 

### Test Plan
- Don't break any existing CI jobs
facebook-github-bot pushed a commit that referenced this pull request Sep 17, 2019
Summary:
Pull Request resolved: #26261

### Summary

Previously we have enabled the CI jobs for Pull Requests and nightly build

-  **#25840 [iOS][Circle CI] Add PR jobs for iOS builds**
-  **#26074 [IOS][CIRCLE CI] Nightly jobs for iOS builds**

The testing phase is missing in the nightly build process.  Although we are able to generate the build and upload it to the AWS,  there is no way to know whether the binary is valid or not (there could be a linking error). To add the test phase to the process, we need

1. Put a dummy test App in the repo.
2. After the build jobs finishes, manually link the static libs to the dummy app to produce an executable using the xcode tool chain.
3. If there is no linking error, then upload the binaris to AWS. If there is an error, then stops the following process and reports an error in CI.

The second and third steps depends on the first step which needs to be landed first.

### Test Plan
- Don't break any existing CI jobs

Test Plan: Imported from OSS

Differential Revision: D17408929

Pulled By: xta0

fbshipit-source-id: e391da242639943005453d1318795f981034cc72
@facebook-github-bot facebook-github-bot deleted the gh/xta0/10/head branch October 28, 2019 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Merged module: ci Related to continuous integration module: ios Related to iOS support - build, API, Continuous Integration, document

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants