Skip to content

Enable dependency resolution of latest ovos packages #533

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Sep 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 40 additions & 40 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,9 @@ jobs:
run: |
pytest tests/neon_skill_tests.py --doctest-modules --junitxml=tests/skill-object-test-results.xml
- name: Upload skill test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: skill-test-results
name: skill-test-results-${{ matrix.python-version }}
path: tests/skill-object-test-results.xml
unit_tests:
strategy:
Expand Down Expand Up @@ -67,169 +67,169 @@ jobs:
run: |
pytest tests/parse_util_tests.py --doctest-modules --junitxml=tests/parse-util-test-results.xml
- name: Upload parse utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: parse-util-test-results
name: parse-util-test-results-${{ matrix.python-version }}
path: tests/parse-util-test-results.xml

- name: Test Web Utils
run: |
pytest tests/web_util_tests.py --doctest-modules --junitxml=tests/web-util-test-results.xml
- name: Upload web utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: web-util-test-results
name: web-util-test-results-${{ matrix.python-version }}
path: tests/web-util-test-results.xml

- name: Test Net Utils
run: |
pytest tests/net_util_tests.py --doctest-modules --junitxml=tests/net-util-test-results.xml
- name: Upload net utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: net-util-test-results
name: net-util-test-results-${{ matrix.python-version }}
path: tests/net-util-test-results.xml

- name: Test Search Utils
run: |
pytest tests/search_util_tests.py --doctest-modules --junitxml=tests/search-util-test-results.xml
- name: Upload search utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: search-util-test-results
name: search-util-test-results-${{ matrix.python-version }}
path: tests/search-util-test-results.xml

- name: Test Location Utils
run: |
pytest tests/location_util_tests.py --doctest-modules --junitxml=tests/location-util-test-results.xml
- name: Upload location utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: location-util-test-results
name: location-util-test-results-${{ matrix.python-version }}
path: tests/location-util-test-results.xml

- name: Test Configuration Utils
run: |
pytest tests/configuration_util_tests.py --doctest-modules --junitxml=tests/configuration-util-test-results.xml
- name: Upload configuration utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: configuration-util-test-results
name: configuration-util-test-results-${{ matrix.python-version }}
path: tests/configuration-util-test-results.xml

- name: Test Message Utils
run: |
pytest tests/message_util_tests.py --doctest-modules --junitxml=tests/message-util-test-results.xml
- name: Upload message utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: message-util-test-results
name: message-util-test-results-${{ matrix.python-version }}
path: tests/message-util-test-results.xml

- name: Test Log Utils
run: |
pytest tests/log_util_tests.py --doctest-modules --junitxml=tests/log-util-test-results.xml
- name: Upload log utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: log-util-test-results
name: log-util-test-results-${{ matrix.python-version }}
path: tests/log-util-test-results.xml

- name: Test Packaging Utils
run: |
pytest tests/packaging_util_tests.py --doctest-modules --junitxml=tests/packaging-util-test-results.xml
- name: Upload packaging utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: packaging-util-test-results
name: packaging-util-test-results-${{ matrix.python-version }}
path: tests/packaging-util-test-results.xml

- name: Test Authentication Utils
run: |
pytest tests/authentication_util_tests.py --doctest-modules --junitxml=tests/authentication-util-test-results.xml
- name: Upload authentication utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: authentication-util-test-results
name: authentication-util-test-results-${{ matrix.python-version }}
path: tests/authentication-util-test-results.xml

- name: Test Metric Utils
run: |
pytest tests/metric_util_tests.py --doctest-modules --junitxml=tests/metric-util-test-results.xml
- name: Upload metric utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: metric-util-test-results
name: metric-util-test-results-${{ matrix.python-version }}
path: tests/metric-util-test-results.xml

- name: Test Cache Utils
run: |
pytest tests/cache_util_tests.py --doctest-modules --junitxml=tests/cache-util-test-results.xml
- name: Upload cache utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: cache-util-test-results
name: cache-util-test-results-${{ matrix.python-version }}
path: tests/cache-util-test-results.xml

- name: Test MQ Utils
run: |
pytest tests/mq_util_tests.py --doctest-modules --junitxml=tests/mq-util-test-results.xml
- name: Upload MQ utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: mq-util-test-results
name: mq-util-test-results-${{ matrix.python-version }}
path: tests/mq-util-test-results.xml

- name: Test Validator Utils
run: |
pytest tests/validator_util_tests.py --doctest-modules --junitxml=tests/validator-util-test-results.xml
- name: Upload validator utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: validator-util-test-results
name: validator-util-test-results-${{ matrix.python-version }}
path: tests/validator-util-test-results.xml

- name: Test Signal Utils
run: |
pytest tests/signal_util_tests.py --doctest-modules --junitxml=tests/signal-util-test-results.xml
- name: Upload signal utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: signal-util-test-results
name: signal-util-test-results-${{ matrix.python-version }}
path: tests/signal-util-test-results.xml

- name: Test Messagebus Utils
run: |
pytest tests/messagebus_util_tests.py --doctest-modules --junitxml=tests/messagebus-util-test-results.xml
- name: Upload messagebus utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: messagebus-util-test-results
name: messagebus-util-test-results-${{ matrix.python-version }}
path: tests/messagebus-util-test-results.xml

- name: Test User Utils
run: |
pytest tests/user_util_tests.py --doctest-modules --junitxml=tests/user-util-test-results.xml
- name: Upload user utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: user-util-test-results
name: user-util-test-results-${{ matrix.python-version }}
path: tests/user-util-test-results.xml

- name: Test Language Utils
run: |
pytest tests/language_util_tests.py --doctest-modules --junitxml=tests/language-util-test-results.xml
- name: Upload language utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: language-util-test-results
name: language-util-test-results-${{ matrix.python-version }}
path: tests/language-util-test-results.xml

- name: Test Hana Utils
run: |
pytest tests/hana_util_tests.py --doctest-modules --junitxml=tests/hana-util-test-results.xml
- name: Upload hana utils test results
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: hana-util-test-results
name: hana-util-test-results-${{ matrix.python-version }}
path: tests/hana-util-test-results.xml
34 changes: 17 additions & 17 deletions neon_utils/configuration_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,6 @@ def _init_ovos_conf(name: str, force_reload: bool = False):
:param name: Name of calling module to configure to use `neon.yaml`
:param force_reload: If true, force reload of configuration modules
"""
from ovos_config.utils import init_module_config

from neon_utils.packaging_utils import get_neon_core_root
try:
Expand All @@ -483,22 +482,20 @@ def _init_ovos_conf(name: str, force_reload: bool = False):
LOG.error(e)
default_config_path = None

module_config = {
"xdg": True,
"base_folder": "neon",
"config_filename": "neon.yaml"
}
if default_config_path:
module_config['default_config_path'] = default_config_path
os.environ["OVOS_CONFIG_BASE_FOLDER"] = "neon"
os.environ["OVOS_CONFIG_FILENAME"] = "neon.yaml"
if default_config_path is not None:
os.environ["OVOS_DEFAULT_CONFIG"] = default_config_path

try:
init_module_config(name, "neon_core", module_config)
if name == "neon_core":
# Also configure neon_core.skills.skill_manager
init_module_config("neon_core.skills.skill_manager",
"neon_core", module_config)
except RuntimeError:
LOG.exception(f"Failed to init config module_config={module_config}")
import ovos_config
# Default config changed, remove any cached configuration
del ovos_config.config.Configuration
del ovos_config.Configuration

import ovos_config.models
importlib.reload(ovos_config.models)
importlib.reload(ovos_config.config)
importlib.reload(ovos_config)

try:
import mycroft.configuration
Expand Down Expand Up @@ -581,11 +578,14 @@ def init_config_dir():
configuration is loaded. Repeated calls or calls after configuration is
loaded may lead to inconsistent behavior.
"""
if os.getenv("OVOS_CONFIG_BASE_FOLDER") == "neon" and \
if os.getenv("OVOS_CONFIG_BASE_FOLDER") and \
os.getenv("OVOS_CONFIG_FILENAME"):
LOG.info("Configuration set via envvars")
return

log_deprecation("This handling is deprecated. Set "
"`OVOS_CONFIG_BASE_FOLDER`, `OVOS_CONFIG_FILENAME`, and "
"`OVOS_DEFAULT_CONFIG` envvars", "2.0.0")
old_config_file = _check_legacy_config()

# Ensure envvars are consistent and valid (read/writeable)
Expand Down
8 changes: 4 additions & 4 deletions requirements/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
ovos-bus-client~=0.0.3
ovos-bus-client~=0.0,>=0.0.3
combo-lock~=0.2
pytz>=2022.1
timezonefinder~=5.2
nltk~=3.5
pyyaml>=5.4,<7.0
ovos-lingua-franca~=0.4
ovos_utils~=0.0,>=0.0.35
ovos-utils~=0.0,>=0.0.35
geopy~=2.1
ovos-config~=0.0.9
ovos-workshop~=0.0.15
ovos-config~=0.0,>=0.0.9
ovos-workshop~=0.0,>=0.0.15
8 changes: 5 additions & 3 deletions tests/configuration_util_tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -634,6 +634,7 @@ def test_populate_read_only_config_simple(self):
test_filename, test_conf))
os.remove(test_conf.file_path)

@unittest.skip('Deprecated function')
@mock.patch('neon_utils.configuration_utils._init_ovos_conf')
def test_init_config_dir(self, init_ovos_conf):
from neon_utils.configuration_utils import init_config_dir
Expand All @@ -645,8 +646,8 @@ def test_init_config_dir(self, init_ovos_conf):
init_config_dir()

# Test config migration
self.assertEqual(os.environ["NEON_CONFIG_PATH"],
join(config_dir, "neon"))
# self.assertEqual(os.environ["NEON_CONFIG_PATH"],
# join(config_dir, "neon"))
self.assertFalse(os.path.exists(join(config_dir, "neon",
"ngi_local_conf.yml")))
self.assertTrue(os.path.exists(join(config_dir, "neon",
Expand Down Expand Up @@ -797,6 +798,7 @@ def test_get_user_config_from_mycroft_conf(self):
self.assertIsInstance(config, dict)
# TODO: Better tests of config load

@unittest.skip('Internal function is deprecated')
@mock.patch('neon_utils.packaging_utils.get_neon_core_root')
def test_init_ovos_conf(self, get_core_root):
default_config = join(dirname(__file__), "configuration", "neon_core")
Expand Down Expand Up @@ -1037,7 +1039,7 @@ def test_get_neon_yaml_config(self, get_core_root):
"from_user": True,
"not_from_user": False
}})
shutil.rmtree(join(config_dir, "OpenVoiceOS"))
shutil.rmtree(join(config_dir, os.environ["OVOS_CONFIG_BASE_FOLDER"]))


class DeprecatedConfigTests(unittest.TestCase):
Expand Down
Loading