Skip to content

Commit bc4016b

Browse files
SNOW-223314 added WhiteSource script running job to Build and Test (#536)
1 parent 65f2c21 commit bc4016b

File tree

2 files changed

+38
-44
lines changed

2 files changed

+38
-44
lines changed

.github/workflows/build_test.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,29 @@ jobs:
5353
name: sdist
5454
path: dist/
5555

56+
whitesource:
57+
name: Whitesource linux-3.6
58+
needs: lint
59+
runs-on: ubuntu-latest
60+
steps:
61+
- uses: actions/checkout@v2
62+
- name: Set up Python
63+
uses: actions/setup-python@v2
64+
with:
65+
python-version: 3.6
66+
- name: Display Python version
67+
run: python -c "import sys; print(sys.version)"
68+
- name: Upgrade setuptools, pip, wheel and virtualenv
69+
run: python -m pip install -U setuptools pip wheel virtualenv
70+
- name: Build Python connector
71+
run: python -m pip wheel -v -w dist .
72+
- name: Show wheels generated
73+
run: ls -lh dist/
74+
- name: Run WhiteSource script
75+
run: ./ci/wss.sh
76+
env:
77+
WHITESOURCE_API_KEY: ${{ secrets.WHITESOURCE_API_KEY }}
78+
5679
build-manylinux:
5780
needs: lint
5881
name: Build linux-py${{ matrix.python-version }}

ci/wss.sh

Lines changed: 15 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,56 +5,29 @@ set -e
55
set -o pipefail
66

77
THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8+
CONNECTOR_DIR="$( dirname "${THIS_DIR}")"
9+
SCAN_DIRECTORIES="${CONNECTOR_DIR}"
810

9-
[[ -z "$WHITESOURCE_API_KEY" ]] && echo "[WARNING] No WHITESOURCE_API_KEY is set. No WhiteSource scan will occur." && exit 0
10-
11-
if [[ -z "$VIRTUAL_ENV" ]]; then
12-
PY=
13-
TMP_VENV=$(mktemp -d)
14-
if which python3 >& /dev/null; then
15-
PY=python3
16-
elif which python3.7 >& /dev/null; then
17-
PY=python3.7
18-
elif which python3.6 >& /dev/null; then
19-
PY=python3.6
20-
elif which python3.5 >& /dev/null; then
21-
PY=python3.5
22-
elif which python >& /dev/null; then
23-
if [[ "$(python -c 'import sys; print(sys.version_info.major)')" == "3" ]]; then
24-
PY=python
25-
fi
26-
fi
27-
[[ -z "$PY" ]] && echo "[ERROR] Failed to find Python3" && exit 1
28-
29-
echo "[INFO] Installing Python Virtualenv"
30-
$PY -m venv $TMP_VENV >& /dev/null
31-
source $TMP_VENV/bin/activate
32-
IS_IN_CUSTOM_VENV=true
33-
else
34-
echo "[INFO] Using Python Virtualenv $VIRTUAL_ENV"
35-
fi
36-
pip install -U pip virtualenv >& /dev/null
11+
[[ -z "$WHITESOURCE_API_KEY" ]] && echo "[WARNING] No WHITESOURCE_API_KEY is set. No WhiteSource scan will occur." && exit 1
3712

3813
export PRODUCT_NAME=snowflake-connector-python
39-
4014
export PROD_BRANCH=master
41-
export PROJECT_VERSION=$TRAVIS_COMMIT
15+
export PROJECT_VERSION="${GITHUB_SHA}"
4216

43-
env | grep TRAVIS | sort
17+
BRANCH_OR_PR_NUMBER="$(echo "${GITHUB_REF}" | awk 'BEGIN { FS = "/" } ; { print $3 }')"
4418

45-
if [[ "$TRAVIS_PULL_REQUEST" != "false" ]]; then
19+
# GITHUB_EVENT_NAME should either be 'push', or 'pull_request'
20+
if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then
4621
echo "[INFO] Pull Request"
47-
export PROJECT_NAME=PR-$TRAVIS_PULL_REQUEST
48-
elif [[ "$TRAVIS_BRANCH" == "$PROD_BRANCH" ]]; then
22+
export PROJECT_NAME="PR-${BRANCH_OR_PR_NUMBER}"
23+
elif [[ "${BRANCH_OR_PR_NUMBER}" == "$PROD_BRANCH" ]]; then
4924
echo "[INFO] Production branch"
50-
export PROJECT_NAME=$PROD_BRANCH
25+
export PROJECT_NAME="$PROD_BRANCH"
5126
else
5227
echo "[INFO] Non Production branch. Skipping wss..."
53-
export PROJECT_NAME=
28+
export PROJECT_NAME=""
5429
fi
5530

56-
SCAN_DIRECTORIES=$(cd $THIS_DIR/.. && pwd)
57-
5831
if [[ -n "$PROJECT_NAME" ]]; then
5932
rm -f wss-unified-agent.jar
6033
curl -LO https://github.com/whitesource/unified-agent-distribution/releases/latest/download/wss-unified-agent.jar
@@ -162,7 +135,7 @@ if [[ "$PROJECT_NAME" == "$PROD_BRANCH" ]]; then
162135
-offline true
163136
ERR=$?
164137
if [[ "$ERR" != "254" && "$ERR" != "0" ]]; then
165-
echo "failed to run wss for $PRODUCT_VERSION_${PROJECT_VERSION} in ${PROJECT_VERSION}..."
138+
echo "failed to run wss for PROJECT_VERSION=${PROJECT_VERSION} in ${PROJECT_VERSION}..."
166139
exit 1
167140
fi
168141

@@ -174,7 +147,7 @@ if [[ "$PROJECT_NAME" == "$PROD_BRANCH" ]]; then
174147
-requestFiles whitesource/update-request.txt
175148
ERR=$?
176149
if [[ "$ERR" != "254" && "$ERR" != "0" ]]; then
177-
echo "failed to run wss for $PRODUCT_VERSION_${PROJECT_VERSION} in baseline"
150+
echo "failed to run wss for PROJECT_VERSION=${PROJECT_VERSION} in baseline"
178151
exit 1
179152
fi
180153
java -jar wss-unified-agent.jar -apiKey ${WHITESOURCE_API_KEY} \
@@ -185,7 +158,7 @@ if [[ "$PROJECT_NAME" == "$PROD_BRANCH" ]]; then
185158
-requestFiles whitesource/update-request.txt
186159
ERR=$?
187160
if [[ "$ERR" != "254" && "$ERR" != "0" ]]; then
188-
echo "failed to run wss for $PRODUCT_VERSION_${PROJECT_VERSION} in ${PROJECT_VERSION}"
161+
echo "failed to run wss for PROJECT_VERSION=${PROJECT_VERSION} in ${PROJECT_VERSION}"
189162
exit 1
190163
fi
191164
elif [[ -n "$PROJECT_NAME" ]]; then
@@ -198,10 +171,8 @@ elif [[ -n "$PROJECT_NAME" ]]; then
198171
-projectVersion ${PROJECT_VERSION}
199172
ERR=$?
200173
if [[ "$ERR" != "254" && "$ERR" != "0" ]]; then
201-
echo "failed to run wss for $PRODUCT_VERSION_${PROJECT_VERSION} in ${PROJECT_VERSION}..."
174+
echo "failed to run wss for PROJECT_VERSION=${PROJECT_VERSION} in ${PROJECT_VERSION}..."
202175
exit 1
203176
fi
204177
fi
205178
set -e
206-
207-
[[ -n "$IS_IN_CUSTOM_VENV" ]] && deactivate || true

0 commit comments

Comments
 (0)