Skip to content

Commit 43481a9

Browse files
committed
fix: test_utils
1 parent 5d799b2 commit 43481a9

File tree

13 files changed

+1199
-2
lines changed

13 files changed

+1199
-2
lines changed

noxfile.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ def system(session):
114114
session.install("mock", "pytest")
115115
for local_dep in LOCAL_DEPS:
116116
session.install("-e", local_dep)
117-
session.install("-e", "../test_utils/")
117+
session.install("-e", "test_utils/")
118118
session.install("-e", ".")
119119

120120
# Run py.test against the system tests.
@@ -169,7 +169,7 @@ def snippets(session):
169169
session.install('mock', 'pytest')
170170
for local_dep in LOCAL_DEPS:
171171
session.install('-e', local_dep)
172-
session.install('-e', '../test_utils/')
172+
session.install('-e', 'test_utils/')
173173
session.install('-e', '.')
174174
session.run(
175175
'py.test',

test_utils/credentials.json.enc

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
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
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Copyright 2016 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
"""Helper to determine package from tag.
16+
Get the current package directory corresponding to the Circle Tag.
17+
"""
18+
19+
from __future__ import print_function
20+
21+
import os
22+
import re
23+
import sys
24+
25+
26+
TAG_RE = re.compile(r"""
27+
^
28+
(?P<pkg>
29+
(([a-z]+)[_-])*) # pkg-name-with-hyphens-or-underscores (empty allowed)
30+
([0-9]+)\.([0-9]+)\.([0-9]+) # Version x.y.z (x, y, z all ints)
31+
$
32+
""", re.VERBOSE)
33+
TAG_ENV = 'CIRCLE_TAG'
34+
ERROR_MSG = '%s env. var. not set' % (TAG_ENV,)
35+
BAD_TAG_MSG = 'Invalid tag name: %s. Expected pkg-name-x.y.z'
36+
CIRCLE_CI_SCRIPTS_DIR = os.path.dirname(__file__)
37+
ROOT_DIR = os.path.realpath(
38+
os.path.join(CIRCLE_CI_SCRIPTS_DIR, '..', '..', '..'))
39+
40+
41+
def main():
42+
"""Get the current package directory.
43+
Prints the package directory out so callers can consume it.
44+
"""
45+
if TAG_ENV not in os.environ:
46+
print(ERROR_MSG, file=sys.stderr)
47+
sys.exit(1)
48+
49+
tag_name = os.environ[TAG_ENV]
50+
match = TAG_RE.match(tag_name)
51+
if match is None:
52+
print(BAD_TAG_MSG % (tag_name,), file=sys.stderr)
53+
sys.exit(1)
54+
55+
pkg_name = match.group('pkg')
56+
if pkg_name is None:
57+
print(ROOT_DIR)
58+
else:
59+
pkg_dir = pkg_name.rstrip('-').replace('-', '_')
60+
print(os.path.join(ROOT_DIR, pkg_dir))
61+
62+
63+
if __name__ == '__main__':
64+
main()
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#!/bin/bash
2+
3+
# Copyright 2016 Google LLC
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
set -ev
18+
19+
# If this is not a CircleCI tag, no-op.
20+
if [[ -z "$CIRCLE_TAG" ]]; then
21+
echo "This is not a release tag. Doing nothing."
22+
exit 0
23+
fi
24+
25+
# H/T: http://stackoverflow.com/a/246128/1068170
26+
SCRIPT="$(dirname "${BASH_SOURCE[0]}")/get_tagged_package.py"
27+
# Determine the package directory being deploying on this tag.
28+
PKG_DIR="$(python ${SCRIPT})"
29+
30+
# Ensure that we have the latest versions of Twine, Wheel, and Setuptools.
31+
python3 -m pip install --upgrade twine wheel setuptools
32+
33+
# Move into the package, build the distribution and upload.
34+
cd ${PKG_DIR}
35+
python3 setup.py sdist bdist_wheel
36+
twine upload dist/*

0 commit comments

Comments
 (0)