Skip to content

Update iOS dependencies - Mon Apr 18 2022 #902

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Apr 20, 2022

Conversation

firebase-workflow-trigger[bot]
Copy link
Contributor

iOS

  • Firebase/Analytics → 8.15.0
  • Firebase/Auth → 8.15.0
  • Firebase/Core → 8.15.0
  • Firebase/Crashlytics → 8.15.0
  • Firebase/Database → 8.15.0
  • Firebase/DynamicLinks → 8.15.0
  • Firebase/Firestore → 8.15.0
  • Firebase/Functions → 8.15.0
  • Firebase/Installations → 8.15.0
  • Firebase/Messaging → 8.15.0
  • Firebase/RemoteConfig → 8.15.0
  • Firebase/Storage → 8.15.0

Created by Update Android and iOS dependencies workflow.

### iOS

- Firebase/Analytics → 8.15.0
- Firebase/Auth → 8.15.0
- Firebase/Core → 8.15.0
- Firebase/Crashlytics → 8.15.0
- Firebase/Database → 8.15.0
- Firebase/DynamicLinks → 8.15.0
- Firebase/Firestore → 8.15.0
- Firebase/Functions → 8.15.0
- Firebase/Installations → 8.15.0
- Firebase/Messaging → 8.15.0
- Firebase/RemoteConfig → 8.15.0
- Firebase/Storage → 8.15.0

> Created by [Update Android and iOS dependencies workflow](https://github.com/firebase/firebase-cpp-sdk/actions/runs/2185021604).
@firebase-workflow-trigger firebase-workflow-trigger bot added the tests-requested: quick Trigger a quick set of integration tests. label Apr 18, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. labels Apr 18, 2022
@github-actions
Copy link

github-actions bot commented Apr 18, 2022

✅  Integration test succeeded!

Requested by @jonsimantov on commit 822b28e
Last updated: Wed Apr 20 13:48 PDT 2022
View integration test log & download artifacts

@jonsimantov jonsimantov self-requested a review April 18, 2022 18:19
jonsimantov
jonsimantov previously approved these changes Apr 18, 2022
@jonsimantov
Copy link
Contributor

@dconeybe Firestore desktop seems to have compilation issues with this update - could you take a look?

@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Apr 18, 2022
@dconeybe
Copy link
Contributor

Sure. All known issues. I have fixes ready in another branch. I'll cherry pick them tomorrow.

@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 18, 2022
…ter.

This fixes the following build error in `ubuntu-latest-Release-x64-static`:

```
firestore/src/main/query_main.h:185:34: error: no type named 'Operator' in 'firebase::firestore::core::Filter'
  using Operator = core::Filter::Operator;
                   ~~~~~~~~~~~~~~^
```

e.g. https://github.com/firebase/firebase-cpp-sdk/runs/6065960625
…rror.

This commit patches in firebase/firebase-ios-sdk#9662, which creates dedicated virtualenv instances for each Python script that is run by cmake. By doing this, each script can have its own set of dependencies installed and does not rely on the host system's Python interpreter having any particular set of third-party modules installed.

This is not specifically related to Snappy, but, for convenience, is being incorporated into the patch file for snappy.

This commit fixes the following build error (https://github.com/firebase/firebase-cpp-sdk/runs/6065960193):

```
[ 83%] Generating nanopb sources
google/firestore/v1/document.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/query.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/common.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/v1/write.proto:20:1: warning: Import google/api/annotations.proto is unused.
google/firestore/admin/index.proto:21:1: warning: Import google/api/annotations.proto is unused.

*************************************************************
*** Could not import the Google protobuf Python libraries ***
*** Try installing package 'python-protobuf' or similar.  ***
*************************************************************

Traceback (most recent call last):
File "external/src/firestore/Firestore/Protos/tmpuwkOue.py", line 25
  import nanopb_generator as nanopb
File "external/src/firestore-build/external/src/nanopb/generator/nanopb_generator.py", line 25
  import google.protobuf.text_format as text_format
File "external/src/firestore-build/external/src/protobuf/python/google/protobuf/text_format.py", line 51
  import six
ImportError: No module named six
--nanopb_out: protoc-gen-nanopb: Plugin failed with status code 1.
```
@github-actions github-actions bot dismissed jonsimantov’s stale review April 19, 2022 17:58

🍞 Dismissed stale approval on external PR.

@dconeybe dconeybe added the tests-requested: quick Trigger a quick set of integration tests. label Apr 19, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. tests: failed This PR's integration tests failed. labels Apr 19, 2022
@jonsimantov
Copy link
Contributor

@dconeybe The Windows desktop build still seems broken: https://github.com/firebase/firebase-cpp-sdk/runs/6083486670?check_suite_focus=true#step:18:838

Error: Command '['D:\a\firebase-cpp-sdk\firebase-cpp-sdk\ta\auth\it\bin\external\src\firestore-build\Firestore\Protos\pyvenv\FirestoreProtos\Scripts\python3.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 3221225781.

@github-actions github-actions bot added the tests: failed This PR's integration tests failed. label Apr 19, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 19, 2022
@dconeybe dconeybe added the tests-requested: quick Trigger a quick set of integration tests. label Apr 20, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. and removed tests-requested: quick Trigger a quick set of integration tests. tests: failed This PR's integration tests failed. labels Apr 20, 2022
…ror can be fixed by using a temporary directory.

A previous commit, bc4a657, patched firebase-ios-sdk with firebase/firebase-ios-sdk#9662, which modified cmake builds to create a python virtualenv for each python script.

This, however, ran into a strange problem in the Windows GitHub Actions runners, where creating the virtualenv failed when it attempted to call ensurepip.

The suspected root cause is a MAX_PATH length violation.

To test out this hypothesis, this commit modifies the FirebaseSetupPythonInterpreter() to create the Python virtualenv in a temporary directory instead of a well-defined subdirectory of cmake's binary directory.

This should have a shorter path length for the virtualenv. If this works, then possibly we will need to provide a way to override the base directory for the pyvenv's.

Here is the actual failure from https://github.com/firebase/firebase-cpp-sdk/runs/6083486670

```
-- Found PythonInterp: C:/ProgramData/chocolatey/bin/python2.7.exe (found suitable version "2.7.9", minimum required is "2.7")
-- Found Python3: C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe (found version "3.10.4") found components: Interpreter
-- FirebaseSetupPythonInterpreter(FirestoreProtos): Creating Python virtualenv in D:/a/firebase-cpp-sdk/firebase-cpp-sdk/ta/admob/it/bin/external/src/firestore-build/Firestore/Protos/pyvenv/FirestoreProtos using C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe
Error: Command '['D:\\a\\firebase-cpp-sdk\\firebase-cpp-sdk\\ta\\admob\\it\\bin\\external\\src\\firestore-build\\Firestore\\Protos\\pyvenv\\FirestoreProtos\\Scripts\\python3.exe', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 3221225781.
CMake Error at bin/external/src/firestore/cmake/python_setup.cmake:133 (message):
  Failed to create a Python virtualenv in
  D:/a/firebase-cpp-sdk/firebase-cpp-sdk/ta/admob/it/bin/external/src/firestore-build/Firestore/Protos/pyvenv/FirestoreProtos
  using C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe
Call Stack (most recent call first):
  bin/external/src/firestore/Firestore/Protos/CMakeLists.txt:16 (FirebaseSetupPythonInterpreter)
```
@dconeybe dconeybe added the tests-requested: quick Trigger a quick set of integration tests. label Apr 20, 2022
@github-actions github-actions bot removed the tests-requested: quick Trigger a quick set of integration tests. label Apr 20, 2022
…ython error can be fixed by using a temporary directory."

This hack didn't fix anything: the same problem occurred: https://github.com/firebase/firebase-cpp-sdk/runs/6087940880

This reverts commit 3936b10.
@dconeybe dconeybe added the tests-requested: quick Trigger a quick set of integration tests. label Apr 20, 2022
@github-actions github-actions bot added tests: failed This PR's integration tests failed. and removed tests-requested: quick Trigger a quick set of integration tests. labels Apr 20, 2022
… any extra info"

Didn't help.

This reverts commit 3030e74.
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 20, 2022
This _may_ fix the following `build-desktop-windows-latest-openssl` build error:

```
-- Found PythonInterp: C:/ProgramData/chocolatey/bin/python2.7.exe
-- Found Python3: C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe
-- FirebaseSetupPythonInterpreter(FirestoreProtos): Creating Python virtualenv in D:/a/firebase-cpp-sdk/firebase-cpp-sdk/ta/admob/it/bin/external/src/firestore-build/Firestore/Protos/pyvenv/FirestoreProtos using C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe
CMake Error at bin/external/src/firestore/cmake/python_setup.cmake:136 (message):
  Failed to create a Python virtualenv in
    D:/a/firebase-cpp-sdk/firebase-cpp-sdk/ta/admob/it/bin/external/src/firestore-build/Firestore/Protos/pyvenv/FirestoreProtos
    using C:/hostedtoolcache/windows/Python/3.10.4/x64/python3.exe
  Command
    '['D:\\a\\firebase-cpp-sdk\\firebase-cpp-sdk\\ta\\admob\\it\\bin\\external\\src\\firestore-build\\Firestore\\Protos\\pyvenv\\FirestoreProtos\\Scripts\\python3.exe',
    '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit
    status 3221225781.
  Call Stack (most recent call first):
    bin/external/src/firestore/Firestore/Protos/CMakeLists.txt:16 (FirebaseSetupPythonInterpreter)
```

It appears that `find_package(Python3)` is finding an undesirable Python interpreter (i.e. the one in C:/hostedtoolcache). Instead, it should find the one installed by the GitHub Actions workflow. Probably this incorrect Python doesn't correctly support virtualenv.

By setting the `FIREBASE_PYTHON_HOST_EXECUTABLE` cmake cache variable, the `FirebaseSetupPythonInterpreter()` function will use that interpreter, the correct interpreter, instead of searching for one and finding a wrong one.
@dconeybe dconeybe added the tests-requested: quick Trigger a quick set of integration tests. label Apr 20, 2022
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: succeeded This PR's integration tests succeeded. and removed tests-requested: quick Trigger a quick set of integration tests. tests: failed This PR's integration tests failed. labels Apr 20, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 20, 2022
@dconeybe
Copy link
Contributor

Firestore build errors are fixed.

@dconeybe dconeybe assigned jonsimantov and unassigned dconeybe Apr 20, 2022
@jonsimantov jonsimantov merged commit 822b28e into main Apr 20, 2022
@jonsimantov jonsimantov deleted the workflow/auto-update-deps-101-20220418-171024 branch April 20, 2022 18:14
@github-actions github-actions bot added tests: in-progress This PR's integration tests are in progress. tests: succeeded This PR's integration tests succeeded. and removed tests: succeeded This PR's integration tests succeeded. labels Apr 20, 2022
@firebase-workflow-trigger firebase-workflow-trigger bot removed the tests: in-progress This PR's integration tests are in progress. label Apr 20, 2022
@firebase firebase locked and limited conversation to collaborators May 21, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
tests: succeeded This PR's integration tests succeeded.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants