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

Appearance settings
This repository was archived by the owner on Jul 6, 2023. It is now read-only.

Commit 4e7976b

Browse filesBrowse files
chore: add prerelease nox session (#93)
Source-Link: googleapis/synthtool@050953d Post-Processor: gcr.io/cloud-devrel-public-resources/owlbot-python:latest@sha256:65e656411895bff71cffcae97246966460160028f253c2e45b7a25d805a5b142 Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent d7460af commit 4e7976b
Copy full SHA for 4e7976b

File tree

Expand file treeCollapse file tree

4 files changed

+80
-2
lines changed
Filter options
Expand file treeCollapse file tree

4 files changed

+80
-2
lines changed

‎.github/.OwlBot.lock.yaml

Copy file name to clipboardExpand all lines: .github/.OwlBot.lock.yaml
+2-2Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
# limitations under the License.
1414
docker:
1515
image: gcr.io/cloud-devrel-public-resources/owlbot-python:latest
16-
digest: sha256:81ed5ecdfc7cac5b699ba4537376f3563f6f04122c4ec9e735d3b3dc1d43dd32
17-
# created: 2022-05-05T22:08:23.383410683Z
16+
digest: sha256:65e656411895bff71cffcae97246966460160028f253c2e45b7a25d805a5b142
17+
# created: 2022-06-12T13:11:45.905884945Z
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Only run this nox session.
4+
env_vars: {
5+
key: "NOX_SESSION"
6+
value: "prerelease_deps"
7+
}

‎.kokoro/presubmit/prerelease-deps.cfg

Copy file name to clipboard
+7Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Format: //devtools/kokoro/config/proto/build.proto
2+
3+
# Only run this nox session.
4+
env_vars: {
5+
key: "NOX_SESSION"
6+
value: "prerelease_deps"
7+
}

‎noxfile.py

Copy file name to clipboardExpand all lines: noxfile.py
+64Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,3 +325,67 @@ def docfx(session):
325325
os.path.join("docs", ""),
326326
os.path.join("docs", "_build", "html", ""),
327327
)
328+
329+
330+
@nox.session(python=SYSTEM_TEST_PYTHON_VERSIONS)
331+
def prerelease_deps(session):
332+
"""Run all tests with prerelease versions of dependencies installed."""
333+
334+
prerel_deps = [
335+
"protobuf",
336+
"googleapis-common-protos",
337+
"google-auth",
338+
"grpcio",
339+
"grpcio-status",
340+
"google-api-core",
341+
"proto-plus",
342+
# dependencies of google-auth
343+
"cryptography",
344+
"pyasn1",
345+
]
346+
347+
for dep in prerel_deps:
348+
session.install("--pre", "--no-deps", "--upgrade", dep)
349+
350+
# Remaining dependencies
351+
other_deps = ["requests"]
352+
session.install(*other_deps)
353+
354+
session.install(*UNIT_TEST_STANDARD_DEPENDENCIES)
355+
session.install(*SYSTEM_TEST_STANDARD_DEPENDENCIES)
356+
357+
# Because we test minimum dependency versions on the minimum Python
358+
# version, the first version we test with in the unit tests sessions has a
359+
# constraints file containing all dependencies and extras.
360+
with open(
361+
CURRENT_DIRECTORY
362+
/ "testing"
363+
/ f"constraints-{UNIT_TEST_PYTHON_VERSIONS[0]}.txt",
364+
encoding="utf-8",
365+
) as constraints_file:
366+
constraints_text = constraints_file.read()
367+
368+
# Ignore leading whitespace and comment lines.
369+
deps = [
370+
match.group(1)
371+
for match in re.finditer(
372+
r"^\s*(\S+)(?===\S+)", constraints_text, flags=re.MULTILINE
373+
)
374+
]
375+
376+
# Don't overwrite prerelease packages.
377+
deps = [dep for dep in deps if dep not in prerel_deps]
378+
# We use --no-deps to ensure that pre-release versions aren't overwritten
379+
# by the version ranges in setup.py.
380+
session.install(*deps)
381+
session.install("--no-deps", "-e", ".[all]")
382+
383+
# Print out prerelease package versions
384+
session.run(
385+
"python", "-c", "import google.protobuf; print(google.protobuf.__version__)"
386+
)
387+
session.run("python", "-c", "import grpc; print(grpc.__version__)")
388+
389+
session.run("py.test", "tests/unit")
390+
session.run("py.test", "tests/system")
391+
session.run("py.test", "samples/snippets")

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.