Add OSM charms
[osm/devops.git] / installers / charm / ro-k8s / tox.ini
diff --git a/installers/charm/ro-k8s/tox.ini b/installers/charm/ro-k8s/tox.ini
new file mode 100644 (file)
index 0000000..fef77c0
--- /dev/null
@@ -0,0 +1,63 @@
+# Copyright 2020 Canonical Ltd.
+#
+# 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.
+[tox]
+envlist = pep8
+skipsdist = True
+
+[testenv]
+setenv = VIRTUAL_ENV={envdir}
+         PYTHONHASHSEED=0
+whitelist_externals = juju
+                      sleep
+passenv = HOME TERM CS_API_* OS_* AMULET_*
+install_command =
+  pip install {opts} {packages}
+
+
+[testenv:build]
+basepython = python3
+passenv=HTTP_PROXY HTTPS_PROXY NO_PROXY
+setenv = CHARM_LAYERS_DIR = ../layers
+         CHARM_INTERFACES_DIR = ../interfaces/
+whitelist_externals = git
+                      charm
+                      rm
+                      mv
+commands =
+    rm -rf release
+    rm -rf ../interfaces/juju-relation-mysql
+    rm -rf /tmp/canonical-osm
+    git clone https://git.launchpad.net/canonical-osm/ /tmp/canonical-osm
+    mv /tmp/canonical-osm/charms/interfaces/juju-relation-mysql ../interfaces/juju-relation-mysql
+    charm build . --build-dir /tmp
+    mv /tmp/ro-k8s/ release/
+
+[testenv:lint]
+basepython = python3
+deps =
+    black
+    yamllint
+    flake8
+commands =
+    black --check --diff . --exclude "release/|.tox/"
+    yamllint .
+    flake8 reactive/ --max-line-length=100
+
+[testenv:pep8]
+basepython = python3
+deps=charm-tools
+commands = charm-proof
+
+[testenv:venv]
+commands = {posargs}