3 # ============LICENSE_START=======================================================
4 # Copyright (C) 2019 The Nordix Foundation. All rights reserved.
5 # ================================================================================
6 # Licensed under the Apache License, Version 2.0 (the "License");
7 # you may not use this file except in compliance with the License.
8 # You may obtain a copy of the License at
10 # http://www.apache.org/licenses/LICENSE-2.0
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
18 # SPDX-License-Identifier: Apache-2.0
19 # ============LICENSE_END=========================================================
25 #-------------------------------------------------------------------------------
26 # Various tests are run using tox such as docs, yamllint, ansible-lint, and
27 # shellcheck. Some repos do not have certain types of files and those repos
28 # are ignored using REPOS_TO_IGNORE variable which is controlled within the
30 #-------------------------------------------------------------------------------
33 echo "Info : Preparing to run tox for the repo $GERRIT_PROJECT"
35 # set and export defaults
36 LINT_TYPE="${LINT_TYPE:-ansible-lint}"
37 REPOS_TO_IGNORE="${REPOS_TO_IGNORE:-none}"
38 VERBOSITY=${VERBOSITY:-false}
39 export LINT_TYPE REPOS_TO_IGNORE VERBOSITY
41 # check if the change is for a repo we should ignore
42 if [[ "$REPOS_TO_IGNORE" =~ "$GERRIT_PROJECT" ]]; then
43 echo "Info : Ignoring change as $GERRIT_PROJECT is in ignore list!"
48 # ensure we are in job build WORKSPACE
51 # set DEBIAN_FRONTEND to run apt non-interactively
52 DEBIAN_FRONTEND=noninteractive
53 export DEBIAN_FRONTEND
55 # install dependencies
56 echo "Info : Install python3.7-minimal python3-distutils virtualenv using apt"
57 redirect_cmd sudo apt update
58 redirect_cmd sudo apt install -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confnew -y python3.7-minimal python3-distutils virtualenv
60 # create and activate virtualenv
61 echo "Info : Create and activate python virtualenv"
62 redirect_cmd virtualenv -p python3 .venv
64 redirect_cmd source .venv/bin/activate
67 # install only tox since the rest of the requirements are installed by tox itself
68 TOX_PACKAGE=$(grep "^tox==" test-requirements.txt)
69 echo "Info : Install $TOX_PACKAGE"
70 redirect_cmd pip install --force-reinstall "$TOX_PACKAGE"
73 echo "Info : Run $LINT_TYPE using tox"
74 echo "----------------------------------------------------"
76 echo "----------------------------------------------------"
80 #-------------------------------------------------------------------------------
81 # In some cases, it is useful to see all the output generated by commands so
82 # this function makes it possible for users to achieve that by not redirecting
83 # output to /dev/null when verbosity is enabled
84 #-------------------------------------------------------------------------------
87 if [[ "$VERBOSITY" == "false" ]]; then
94 #-------------------------------------------------------------------------------
96 #-------------------------------------------------------------------------------
100 # vim: set ts=2 sw=2 expandtab: