tests: ci: allow parallel npm installs#1596
Conversation
|
@callmehiphop this has sped up our builds quite a bit! Previously, each environment would require around ~15-17 minutes just to run |
| - 4 | ||
| - 0.12 | ||
| - 4 | ||
| - 6 |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
d60ff8e to
1756aa6
Compare
| - packages\resource\node_modules -> packages\resource\package.json | ||
| - packages\storage\node_modules -> packages\storage\package.json | ||
| - packages\translate\node_modules -> packages\translate\package.json | ||
| - packages\vision\node_modules -> packages\vision\package.json |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
1 similar comment
|
Even though it took 100 commits, this should be an improvement over what we have now. It might take more tweaking, but that's just another 100-commit PR away. |
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [protobufjs](https://protobufjs.github.io/protobuf.js/) ([source](https://togithub.com/protobufjs/protobuf.js)) | [`7.2.6` -> `7.3.0`](https://renovatebot.com/diffs/npm/protobufjs/7.2.6/7.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>protobufjs/protobuf.js (protobufjs)</summary> ### [`v7.3.0`](https://togithub.com/protobufjs/protobuf.js/blob/HEAD/CHANGELOG.md#730-2024-05-10) [Compare Source](https://togithub.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.6...protobufjs-v7.3.0) ##### Features - add handling for extension range options ([#​1990](https://togithub.com/protobufjs/protobuf.js/issues/1990)) ([2d58011](https://togithub.com/protobufjs/protobuf.js/commit/2d58011cc0bc495c68ed70f5aad297deb1722378)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/gax-nodejs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
## Description This PR achieves the same objectives as https://togithub.com/googleapis/java-bigquery/pull/4010, but for Node as requested in [the planning sheet](https://docs.google.com/spreadsheets/d/1cHAw6cV8k_s40hw28C8STtlymu3MXEvTY6PaKgdgSGE/edit?resourcekey=0-hPyTawvew5ugN037XCfZXg&gid=0#gid=0). The idea is that for reading rows, the users should be able to access high precision values for timestamps if high precision values are being stored on the backend. ## Impact This PR follows a test driven development approach against the getRows method. Tests were written to evaluate what happens when getRows receives various input values for timestampOutputFormat and useInt64Timestamp. These tests revealed that not only are high precision values not being delivered to users for ISO8601_STRING return types, but also other bugs exist like calls hang on getRows calls that fail and conversion logic throughs errors for some calls that fetch rows. This PR fixes all the bugs and ensures the values with the right precision are delivered to users. This chart details the before code changes / after code changes results with impact highlighted in green: <img width="1575" height="383" alt="image" src="https://togithub.com/user-attachments/assets/75c1ff70-073c-477e-9363-8eff5be0aa5f" /> The highlighted green impact shows that conversion logic has been updated to avoid the 'cannot convert' errors and with this new logic changes are also applied to the BigQueryTimestamp class to maintain high precision on timestamp values returned to users. ## Testing New system tests to capture all useInt64Timestamp/timestampOutputFormat combinations for getRows calls.
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [protobufjs](https://protobufjs.github.io/protobuf.js/) ([source](https://togithub.com/protobufjs/protobuf.js)) | [`7.2.6` -> `7.3.0`](https://renovatebot.com/diffs/npm/protobufjs/7.2.6/7.3.0) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>protobufjs/protobuf.js (protobufjs)</summary> ### [`v7.3.0`](https://togithub.com/protobufjs/protobuf.js/blob/HEAD/CHANGELOG.md#730-2024-05-10) [Compare Source](https://togithub.com/protobufjs/protobuf.js/compare/protobufjs-v7.2.6...protobufjs-v7.3.0) ##### Features - add handling for extension range options ([#​1990](https://togithub.com/protobufjs/protobuf.js/issues/1990)) ([2d58011](https://togithub.com/protobufjs/protobuf.js/commit/2d58011cc0bc495c68ed70f5aad297deb1722378)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 9am and before 3pm" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/gax-nodejs). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [proto3-json-serializer](https://togithub.com/googleapis/proto3-json-serializer-nodejs) | [`^2.0.1` -> `^2.0.2`](https://renovatebot.com/diffs/npm/proto3-json-serializer/2.0.1/2.0.2) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>googleapis/proto3-json-serializer-nodejs (proto3-json-serializer)</summary> ### [`v2.0.2`](https://togithub.com/googleapis/proto3-json-serializer-nodejs/blob/HEAD/CHANGELOG.md#202-2024-05-22) [Compare Source](https://togithub.com/googleapis/proto3-json-serializer-nodejs/compare/v2.0.1...v2.0.2) ##### Bug Fixes - Properly convert repeated int64 and maps of int64 ([#​96](https://togithub.com/googleapis/proto3-json-serializer-nodejs/issues/96)) ([1ec05fb](https://togithub.com/googleapis/proto3-json-serializer-nodejs/commit/1ec05fb59edfdff7531b9372dcfe14c0fe36562c)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/googleapis/gapic-generator-typescript). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNy4zNjguMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbXX0=-->
* Revert "feat: Add high precision TIMESTAMP values for queries (#7147)" This reverts commit bea42b2. # Conflicts: # handwritten/bigquery/src/bigquery.ts # handwritten/bigquery/src/job.ts # handwritten/bigquery/test/bigquery.ts * Revert "feat: support high precision timestamp strings on getRows calls (#1596)" This reverts commit b3217a3. # Conflicts: # handwritten/bigquery/src/table.ts * skip a test * Remove the High Precision Query System tests * Source code changes for timestamp precision flag * Add tests back * Add test file back in * Modify tests to only run for high precision or not * listParams add * remove listParams * skip tests if picosecond support is not turned on * remove only * Don’t create separate code paths when not needed * extend the default options * Skip the before hook if picosecond support not on * Add documentation back in for methods * Remove the if block since release is done * Eliminate redundant feature flag check. * Add qs back in * Add commands to test for picoseconds in system t * Revert "Remove the if block since release is done" This reverts commit 757dfdc. * Eliminate environment variable for parsing check * Always use try block * Change type to GetRowsOptions * Remove exception * Some typescript simplifications * Eliminate default options branching * Change defaults for current requests * Don’t need extra import * Don’t gate with picosecond flag * Just add an extra test file * test(bigquery): parameterize system tests for picosecond support Wraps the BigQuery system tests in a parameterized function to run them both with and without the BIGQUERY_PICOSECOND_SUPPORT environment variable. Clients and resources are re-instantiated within a before hook to ensure the library picks up the environment changes for each run. The existing indentation is preserved to maintain a clean PR diff. Co-authored-by: danieljbruce <8935272+danieljbruce@users.noreply.github.com> * test(bigquery): add high precision timestamp wrapper system test Creates a new system test file that programmatically re-runs the entire BigQuery system test suite with BIGQUERY_PICOSECOND_SUPPORT=true. This is achieved by clearing the Node.js require cache for the package and requiring the existing bigquery.ts test file within a new describe block. This approach leaves the original test file untouched, ensuring a clean PR diff and avoiding linting issues. Co-authored-by: danieljbruce <8935272+danieljbruce@users.noreply.github.com> * linting change and copyright year * Correct package.json errors * This file is not working well with test runner * Run the timestamp output format tests as well * Add a wrapper --------- Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com> Co-authored-by: danieljbruce <8935272+danieljbruce@users.noreply.github.com>


No description provided.