Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

PHPC-2510 Install evergreen tools using git submodule #1797

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
alcaeus merged 6 commits into mongodb:v1.x from GromNaN:PHPC-2510
May 19, 2025

Conversation

@GromNaN
Copy link
Member

@GromNaN GromNaN commented Feb 26, 2025

@GromNaN GromNaN force-pushed the PHPC-2510 branch 2 times, most recently from b1db641 to 749ea46 Compare March 18, 2025 18:09
@GromNaN GromNaN marked this pull request as ready for review March 18, 2025 18:12
@GromNaN GromNaN requested a review from Copilot March 18, 2025 18:13
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the installation instructions for evergreen tools to use a Git submodule rather than cloning during the build process.

  • Updated .evergreen/README.md to reflect the new installation method.
  • Changed the description to indicate that the package is installed as a Git submodule in the tests repository.
Files not reviewed (6)
  • .evergreen/config/functions.yml: Language not supported
  • .github/dependabot.yml: Language not supported
  • .github/workflows/tests.yml: Language not supported
  • .github/workflows/windows-tests.yml: Language not supported
  • .gitmodules: Language not supported
  • tests/drivers-evergreen-tools: Language not supported

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR updates the installation instructions for evergreen tools, switching from cloning during the build process to using a Git submodule.

  • Updated README in the .evergreen directory with new installation instructions.
  • Clarified that the evergreen tools package is now installed as a Git submodule in the tests repository.
Files not reviewed (6)
  • .evergreen/config/functions.yml: Language not supported
  • .github/dependabot.yml: Language not supported
  • .github/workflows/tests.yml: Language not supported
  • .github/workflows/windows-tests.yml: Language not supported
  • .gitmodules: Language not supported
  • tests/drivers-evergreen-tools: Language not supported

else
git clone https://github.com/mongodb-labs/drivers-evergreen-tools.git $DRIVERS_TOOLS
fi
git submodule update --init --depth 1
Copy link
Member Author

Choose a reason for hiding this comment

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

The --depth 1 was not in PHPLIB. I can add it also to reduce the Git history that get downloaded.

jmikola reacted with thumbs up emoji
Copy link
Member Author

Choose a reason for hiding this comment

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

I have to revert this change, there is a git checkout inside the libmongoc submodule when LIBMONGOC_VERSION is set (always). Maybe I can fetch the tag directly.

working_dir: "src/src/libmongoc"
add_expansions_to_env: true
script: |
if [ -n "${LIBMONGOC_VERSION}" ]; then
echo "Checking out libmongoc version: ${LIBMONGOC_VERSION}"
git fetch
git checkout ${LIBMONGOC_VERSION}

jmikola reacted with thumbs up emoji
Copy link
Member

Choose a reason for hiding this comment

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

I suppose you could initialize the submodules independently by passing their path as an argument to git submodule update, although that would make this more fragile if additional submodules are introduced to the project.

Assuming it works, fetching the tag for libmongoc does seem more resilient, and then you could keep that logic local to the LIBMONGOC_VERSION handling.

Copy link
Member Author

GromNaN commented Mar 18, 2025

I don't understand the evergreen errors.

[2025年03月18日 19:13:21.723] From https://github.com/mongodb/mongo-c-driver
[2025年03月18日 19:13:21.723] * [new tag] 1.30.1 -> 1.30.1
[2025年03月18日 19:13:21.727] Checking out libmongoc version: r1.30
[2025年03月18日 19:13:21.727] error: pathspec 'r1.30' did not match any file(s) known to git
[2025年03月18日 19:13:21.727] Command 'shell.exec' in function 'compile driver' (step 1.1 of 2) failed: shell script encountered problem: exit code 1.
[2025年03月18日 19:13:21.727] Finished command 'shell.exec' in function 'compile driver' (step 1.1 of 2) in 504.58684ms.
[2025年03月18日 19:16:10.592] 2025年03月18日 18:16:10,239 [DEBUG] mongo_orchestration.process:158 - process is not alive
[2025年03月18日 19:16:10.592] 2025年03月18日 18:16:10,239 [ERROR] mongo_orchestration.servers:389 - Could not start Server. Please find server log below.
[2025年03月18日 19:16:10.592] =====================================================
[2025年03月18日 19:16:10.592] 2025年03月18日 18:16:10,240 [ERROR] mongo_orchestration.servers:393 - {"t":{"$date":"2025-03-18T18:16:10.157+00:00"},"s":"E", "c":"NETWORK", "id":23248, "ctx":"-","msg":"Cannot read certificate file","attr":{"keyFile":"/data/mci/826c701ecd806ff38ce7df3bae7a2e8b/src/tests/drivers-evergreen-tools/.evergreen/x509gen/server.pem","error":"error:02001002:system library:fopen:No such file or directory"}}
[2025年03月18日 19:16:10.592] {"t":{"$date":"2025-03-18T18:16:10.157+00:00"},"s":"D1", "c":"-", "id":23074, "ctx":"-","msg":"User assertion","attr":{"error":"InvalidSSLConfiguration: Can not set up PEM key file.","file":"src/mongo/util/net/ssl_manager_openssl.cpp","line":2582}}
[2025年03月18日 19:16:10.592] {"t":{"$date":"2025-03-18T18:16:10.157+00:00"},"s":"F", "c":"CONTROL", "id":20574, "ctx":"-","msg":"Error during global initialization","attr":{"error":{"code":140,"codeName":"InvalidSSLConfiguration","errmsg":"Can not set up PEM key file."}}}
[2025年03月18日 19:16:10.592] 2025年03月18日 18:16:10,240 [ERROR] mongo_orchestration.apps:68 - <function sh_create at 0x7f069a36d1b0>

Copy link
Member

@jmikola jmikola left a comment

Choose a reason for hiding this comment

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

Minor suggestions you can address on your own.

@alcaeus alcaeus requested a review from a team as a code owner May 19, 2025 14:14
@alcaeus alcaeus merged commit 704f914 into mongodb:v1.x May 19, 2025
60 checks passed
@GromNaN GromNaN deleted the PHPC-2510 branch May 19, 2025 14:40
alcaeus added a commit that referenced this pull request Jun 12, 2025
* v2.1: (37 commits)
 Back to -dev
 Package 2.1.0
 PHPC-2555: Stop testing with MongoDB 4.0 (#1827)
 PHPC-2510 Install evergreen tools using git submodule (#1797)
 Bump to libmongoc 1.30.4 (#1822)
 Feature: Client Bulk Write (#1818)
 Mention Serializable/Unserializable types in upgrade guide (#1805)
 Back to -dev
 Package 2.0.0
 Master is now 2.1-dev
 PHPC-2536: Remove run-ocsp-responder.sh (#1802)
 PHPC-2536: Migrate to common OCSP responder script (#1800)
 1.x is now 1.22.0dev
 PHPC-2485: Remove WriteConcern and ReadPreference from execute method arginfo (#1783)
 PHPC-2497: BulkWriteException stub should inherit ServerException (#1784)
 PHPC-2441: Remove deprecated Manager constructor options (#1719)
 PHPC-990: Strict type validation for boolean URI options (#1713)
 PHPC-2440: Remove deprecated Query constructor options (#1707)
 PHPC-2459: Remove support for float arg in UTCDateTime ctor (#1709)
 Remove obsolete test
 ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@jmikola jmikola jmikola approved these changes

Copilot code review Copilot Copilot left review comments

@alcaeus alcaeus alcaeus approved these changes

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /