Two main things happened here:
1. Manually encrypted files instead of using `travis encrypt-file`
2. Removed OAUTH2CLIENT_TEST_USER_KEY_PATH fallback.
The first was because `travis encrypt-file` was failing mysteriously.
To make up, I ran
openssl enc -d -a -md sha1 -aes-256-cbc -nosalt -p
and typed random noise into the keyboard to create a candidate KEY and
IV (H/T http://superuser.com/a/471524). After doing this, they were set
via
travis env set OAUTH2CLIENT_KEY "..KEY.." --repo "google/oauth2client"
travis env set OAUTH2CLIENT_IV "..IV.." --repo "google/oauth2client"
To actually do the encryption locally:
openssl aes-256-cbc -K "..KEY.." \
-iv "..IV.." \
-in file-to-encrypt \
-out file-to-encrypt.enc -e
As for the second change, OAUTH2CLIENT_TEST_USER_KEY_PATH was previously
allowed to fallback to client._get_well_known_file() in system tests, but this
is a problem since that function throws an OSError when the directory does not
exist. (It does not exist on Travis.)
49 lines
1.8 KiB
Bash
Executable File
49 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copyright 2015 Google Inc. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
set -ev
|
|
|
|
|
|
# If we're on Travis, we need to set up the environment.
|
|
if [[ "${TRAVIS}" == "true" ]]; then
|
|
# If merging to master and not a pull request, run system test.
|
|
if [[ "${TRAVIS_BRANCH}" == "master" ]] && \
|
|
[[ "${TRAVIS_PULL_REQUEST}" == "false" ]]; then
|
|
echo "Running in Travis during merge, decrypting stored key file."
|
|
# Convert encrypted JSON key file into decrypted file to be used.
|
|
openssl aes-256-cbc -K ${OAUTH2CLIENT_KEY} \
|
|
-iv ${OAUTH2CLIENT_IV} \
|
|
-in tests/data/key.json.enc \
|
|
-out ${OAUTH2CLIENT_TEST_JSON_KEY_PATH} -d
|
|
# Convert encrypted P12 key file into decrypted file to be used.
|
|
openssl aes-256-cbc -K ${OAUTH2CLIENT_KEY} \
|
|
-iv ${OAUTH2CLIENT_IV} \
|
|
-in tests/data/key.p12.enc \
|
|
-out ${OAUTH2CLIENT_TEST_P12_KEY_PATH} -d
|
|
# Convert encrypted User JSON key file into decrypted file to be used.
|
|
openssl aes-256-cbc -K ${OAUTH2CLIENT_KEY} \
|
|
-iv ${OAUTH2CLIENT_IV} \
|
|
-in tests/data/user-key.json.enc \
|
|
-out ${OAUTH2CLIENT_TEST_USER_KEY_PATH} -d
|
|
else
|
|
echo "Running in Travis during non-merge to master, doing nothing."
|
|
exit
|
|
fi
|
|
fi
|
|
|
|
# Run the system tests for each tested package.
|
|
python scripts/run_system_tests.py
|