Skip to content

Commit

Permalink
Merge branch 'dev' into ORG_UpdateDependencies
Browse files Browse the repository at this point in the history
  • Loading branch information
JarbasAl authored Sep 30, 2023
2 parents 5cf1479 + f015522 commit f4c24b8
Show file tree
Hide file tree
Showing 23 changed files with 1,232 additions and 197 deletions.
15 changes: 11 additions & 4 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,19 +19,26 @@ jobs:
- name: Install System Dependencies
run: |
sudo apt-get update
sudo apt install python3-dev
sudo apt install python3-dev libssl-dev libfann-dev portaudio19-dev libpulse-dev
python -m pip install build wheel
- name: Install repo
- name: Install core repo
run: |
pip install -e .[mycroft,deprecated]
- name: Install test dependencies
run: |
sudo apt install libssl-dev libfann-dev portaudio19-dev libpulse-dev
pip install -r requirements/tests.txt
pip install ./test/unittests/common_query/ovos_tskill_fakewiki
pip install ./test/end2end/session/skill-ovos-hello-world
- name: Generate coverage report
run: |
pytest --cov=./ovos_core --cov-report=xml
pytest --cov=ovos_core --cov-report xml test/unittests
pytest --cov-append --cov=ovos_core --cov-report xml test/end2end
pytest --cov-append --cov=ovos_core --cov-report xml test/integrationtests
- name: Generate coverage report with padatious
run: |
sudo apt install libfann-dev
pip install .[lgpl]
pytest --cov-append --cov=ovos_core --cov-report xml test/unittests/skills
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
Expand Down
45 changes: 13 additions & 32 deletions .github/workflows/unit_tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ on:
jobs:
unit_tests:
strategy:
max-parallel: 2
max-parallel: 3
matrix:
python-version: [ 3.7, 3.8, 3.9]
runs-on: ubuntu-latest
Expand All @@ -55,47 +55,28 @@ jobs:
run: |
pip install -r requirements/tests.txt
pip install ./test/unittests/common_query/ovos_tskill_fakewiki
pip install ./test/end2end/session/skill-ovos-hello-world
- name: Run unittests
run: |
pytest --cov=ovos_core --cov-report xml test/unittests
# NOTE: additional pytest invocations should also add the --cov-append flag
# or they will overwrite previous invocations' coverage reports
# (for an example, see OVOS Skill Manager's workflow)
- name: Run full core unittests
run: |
pytest --cov-append --cov=ovos_core --cov-report xml test/end2end
- name: Run integration tests
run: |
pytest --cov-append --cov=ovos_core --cov-report xml test/integrationtests
# NOTE: additional pytest invocations should also add the --cov-append flag
# or they will overwrite previous invocations' coverage reports
# (for an example, see OVOS Skill Manager's workflow)
- name: Install padatious
run: |
sudo apt install libfann-dev
pip install .[lgpl]
- name: Run unittests with padatious
run: |
pytest --cov=ovos_core --cov-report xml test/unittests/skills
- name: Upload coverage
if: "${{ matrix.python-version == '3.9' }}"
env:
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
uses: codecov/codecov-action@v2
backwards_compat_tests:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- name: Set up python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: 3.8
- name: Install System Dependencies
run: |
sudo apt-get update
sudo apt install python3-dev swig libssl-dev libfann-dev portaudio19-dev libpulse-dev
python -m pip install build wheel
- name: Install core repo
run: |
pip install .[mycroft,lgpl,deprecated]
- name: Install test dependencies
run: |
pip install -r requirements/tests.txt
pip install ./test/unittests/common_query/ovos_tskill_fakewiki
- name: Run unittests
run: |
pytest test/unittests
- name: Run integration tests
run: |
pytest test/integrationtests
uses: codecov/codecov-action@v2
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ doc/_build/
test/unittests/skills/test_skill/settings.json
test_conf.json
.pytest_cache/
/.gtm/
100 changes: 70 additions & 30 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,76 @@

## [Unreleased](https://github.com/OpenVoiceOS/ovos-core/tree/HEAD)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a32...HEAD)
[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a40...HEAD)

**Fixed bugs:**

- fix/session dropping active\_skills [\#355](https://github.com/OpenVoiceOS/ovos-core/pull/355) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.8a40](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a40) (2023-09-30)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a39...V0.0.8a40)

## [V0.0.8a39](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a39) (2023-09-29)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a38...V0.0.8a39)

**Implemented enhancements:**

- Persona Initiative - Long Live the LLM [\#297](https://github.com/OpenVoiceOS/ovos-core/issues/297)
- default session managed by core [\#354](https://github.com/OpenVoiceOS/ovos-core/pull/354) ([JarbasAl](https://github.com/JarbasAl))

**Fixed bugs:**

- fix docker build [\#267](https://github.com/OpenVoiceOS/ovos-core/issues/267)

## [V0.0.8a38](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a38) (2023-09-22)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a37...V0.0.8a38)

**Implemented enhancements:**

- feat/pipeline\_session [\#352](https://github.com/OpenVoiceOS/ovos-core/pull/352) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.8a37](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a37) (2023-09-22)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a36...V0.0.8a37)

**Merged pull requests:**

- Update README.md: Update Link [\#351](https://github.com/OpenVoiceOS/ovos-core/pull/351) ([1Maxnet1](https://github.com/1Maxnet1))

## [V0.0.8a36](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a36) (2023-09-20)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a35...V0.0.8a36)

**Implemented enhancements:**

- feat/active skills from Session [\#350](https://github.com/OpenVoiceOS/ovos-core/pull/350) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.8a35](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a35) (2023-09-19)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a34...V0.0.8a35)

**Implemented enhancements:**

- feat/runtime skill installer [\#347](https://github.com/OpenVoiceOS/ovos-core/pull/347) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.8a34](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a34) (2023-09-08)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a33...V0.0.8a34)

**Fixed bugs:**

- unittests hang forever test\_event\_container.py [\#342](https://github.com/OpenVoiceOS/ovos-core/issues/342)

**Merged pull requests:**

- refactor/sound\_output\_in\_ovos\_audio [\#345](https://github.com/OpenVoiceOS/ovos-core/pull/345) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.8a33](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.8a33) (2023-08-08)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.8a32...V0.0.8a33)

**Implemented enhancements:**

Expand Down Expand Up @@ -554,11 +623,6 @@

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.6a5...V0.0.6a6)

**Fixed bugs:**

- port/fix/ intent name colision [\#233](https://github.com/OpenVoiceOS/ovos-core/issues/233)
- Handle multiple intents with the same name \(\#2921\) [\#235](https://github.com/OpenVoiceOS/ovos-core/pull/235) ([JarbasAl](https://github.com/JarbasAl))

**Closed issues:**

- Install confusion [\#239](https://github.com/OpenVoiceOS/ovos-core/issues/239)
Expand All @@ -583,26 +647,14 @@

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.6a2...V0.0.6a3)

**Implemented enhancements:**

- page background color support for show image and show animated image [\#236](https://github.com/OpenVoiceOS/ovos-core/pull/236) ([AIIX](https://github.com/AIIX))

## [V0.0.6a2](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.6a2) (2022-11-25)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.6a1...V0.0.6a2)

**Fixed bugs:**

- Fix show\_pages index api [\#234](https://github.com/OpenVoiceOS/ovos-core/pull/234) ([AIIX](https://github.com/AIIX))

## [V0.0.6a1](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.6a1) (2022-11-23)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5...V0.0.6a1)

**Implemented enhancements:**

- add factory reset ui [\#231](https://github.com/OpenVoiceOS/ovos-core/pull/231) ([AIIX](https://github.com/AIIX))

## [V0.0.5](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.5) (2022-11-16)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a39...V0.0.5)
Expand All @@ -611,18 +663,10 @@

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a38...V0.0.5a39)

**Implemented enhancements:**

- Update alpha dependencies to stable versions [\#230](https://github.com/OpenVoiceOS/ovos-core/pull/230) ([NeonDaniel](https://github.com/NeonDaniel))

## [V0.0.5a38](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.5a38) (2022-11-11)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a37...V0.0.5a38)

**Fixed bugs:**

- Replace / by \_ in name to avoid issue when writing the cache file. [\#228](https://github.com/OpenVoiceOS/ovos-core/pull/228) ([JarbasAl](https://github.com/JarbasAl))

## [V0.0.5a37](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.5a37) (2022-11-11)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a36...V0.0.5a37)
Expand All @@ -631,10 +675,6 @@

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a35...V0.0.5a36)

**Fixed bugs:**

- emit theme get on theme change [\#227](https://github.com/OpenVoiceOS/ovos-core/pull/227) ([AIIX](https://github.com/AIIX))

## [V0.0.5a35](https://github.com/OpenVoiceOS/ovos-core/tree/V0.0.5a35) (2022-10-31)

[Full Changelog](https://github.com/OpenVoiceOS/ovos-core/compare/V0.0.5a34...V0.0.5a35)
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

# OVOS-core

[OpenVoiceOS](https://openvoiceos.com/) is an open source platform for smart speakers and other voice-centric devices.
[OpenVoiceOS](https://openvoiceos.org/) is an open source platform for smart speakers and other voice-centric devices.

[Mycroft](https://mycroft.ai) is a hackable, open source voice assistant by MycroftAI. OVOS-core is a
backwards-compatible descendant of [Mycroft-core](https://github.com/MycroftAI/mycroft-core), the central component of
Expand Down
2 changes: 1 addition & 1 deletion mycroft/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@

from ovos_utils.intents import AdaptIntent, IntentBuilder, Intent
from ovos_workshop.decorators import intent_handler, intent_file_handler, adds_context, removes_context
from ovos_workshop.skills import MycroftSkill
from ovos_workshop.skills.mycroft_skill import MycroftSkill
from ovos_workshop.skills.fallback import FallbackSkill
from ovos_utils.log import LOG

Expand Down
10 changes: 8 additions & 2 deletions ovos_core/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
from ovos_utils import wait_for_exit_signal
from ovos_utils.log import LOG, init_service_logger
from ovos_utils.process_utils import reset_sigint_handler
from ovos_core.skill_installer import SkillsStore
from ovos_workshop.skills.fallback import FallbackSkill


Expand All @@ -52,6 +53,9 @@ def main(alive_hook=on_alive, started_hook=on_started, ready_hook=on_ready,
event_scheduler = EventScheduler(bus, autostart=False)
event_scheduler.daemon = True
event_scheduler.start()

osm = SkillsStore(bus)

SkillApi.connect_bus(bus)
skill_manager = SkillManager(bus, watchdog,
alive_hook=alive_hook,
Expand All @@ -64,7 +68,7 @@ def main(alive_hook=on_alive, started_hook=on_started, ready_hook=on_ready,

wait_for_exit_signal()

shutdown(skill_manager, event_scheduler)
shutdown(skill_manager, event_scheduler, osm)


def _register_intent_services(bus):
Expand All @@ -82,14 +86,16 @@ def _register_intent_services(bus):
return service


def shutdown(skill_manager, event_scheduler):
def shutdown(skill_manager, event_scheduler, osm):
LOG.info('Shutting down Skills service')
if event_scheduler is not None:
event_scheduler.shutdown()
# Terminate all running threads that update skills
if skill_manager is not None:
skill_manager.stop()
skill_manager.join()
if osm is not None:
osm.shutdown()
LOG.info('Skills service shutdown complete!')


Expand Down
Loading

0 comments on commit f4c24b8

Please sign in to comment.