Skip to content
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

Rc/0.0.8 #2

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 3 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
141 changes: 141 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
[submodule "ovos-backend-client"]
path = ovos-backend-client
url = https://github.com/OpenVoiceOS/ovos-backend-client
[submodule "ovos-core"]
path = ovos-core
url = https://github.com/OpenVoiceOS/ovos-core
[submodule "ovos-audio"]
path = ovos-audio
url = https://github.com/OpenVoiceOS/ovos-audio
[submodule "ovos-ocp-audio-plugin"]
path = ovos-ocp-audio-plugin
url = https://github.com/OpenVoiceOS/ovos-ocp-audio-plugin
[submodule "ovos-messagebus"]
path = ovos-messagebus
url = https://github.com/OpenVoiceOS/ovos-messagebus
[submodule "ovos-dinkum-listener"]
path = ovos-dinkum-listener
url = https://github.com/OpenVoiceOS/ovos-dinkum-listener
[submodule "ovos-vad-plugin-silero"]
path = ovos-vad-plugin-silero
url = https://github.com/OpenVoiceOS/ovos-vad-plugin-silero
[submodule "ovos-ww-plugin-pocketsphinx"]
path = ovos-ww-plugin-pocketsphinx
url = https://github.com/OpenVoiceOS/ovos-ww-plugin-pocketsphinx
[submodule "ovos-audio-transformer-plugin-ggwave"]
path = ovos-audio-transformer-plugin-ggwave
url = https://github.com/OpenVoiceOS/ovos-audio-transformer-plugin-ggwave
[submodule "ovos-ww-plugin-precise"]
path = ovos-ww-plugin-precise
url = https://github.com/OpenVoiceOS/ovos-ww-plugin-precise
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Up for discussion, but maybe we should not include deprecated packages, or maybe we should so they are in at least 1 release, I will leave a comment in all deprecated packages for reference

DEPRECATED: ovos-ww-plugin-precise

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the list of repos is definitely up for discussion

[submodule "ovos-ww-plugin-precise-lite"]
path = ovos-ww-plugin-precise-lite
url = https://github.com/OpenVoiceOS/ovos-ww-plugin-precise-lite
[submodule "ovos-workshop"]
path = ovos-workshop
url = https://github.com/OpenVoiceOS/ovos-workshop
[submodule "ovos-lingua-franca"]
path = ovos-lingua-franca
url = https://github.com/OpenVoiceOS/ovos-lingua-franca
[submodule "ovos-vad-plugin-webrtcvad"]
path = ovos-vad-plugin-webrtcvad
url = https://github.com/OpenVoiceOS/ovos-vad-plugin-webrtcvad
[submodule "ovos-microphone-plugin-sounddevice"]
path = ovos-microphone-plugin-sounddevice
url = https://github.com/OpenVoiceOS/ovos-microphone-plugin-sounddevice
[submodule "ovos-stt-plugin-server"]
path = ovos-stt-plugin-server
url = https://github.com/OpenVoiceOS/ovos-stt-plugin-server
[submodule "ovos-tts-plugin-mimic3-server"]
path = ovos-tts-plugin-mimic3-server
url = https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic3-server
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEPRECATED: ovos-tts-plugin-mimic3-server

[submodule "ovos-tts-plugin-mimic"]
path = ovos-tts-plugin-mimic
url = https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic
[submodule "ovos-tts-plugin-piper"]
path = ovos-tts-plugin-piper
url = https://github.com/OpenVoiceOS/ovos-tts-plugin-piper
[submodule "ovos-tts-server-plugin"]
path = ovos-tts-server-plugin
url = https://github.com/OpenVoiceOS/ovos-tts-server-plugin
[submodule "ovos-config"]
path = ovos-config
url = https://github.com/OpenVoiceOS/ovos-config
[submodule "ovos-utils"]
path = ovos-utils
url = https://github.com/OpenVoiceOS/ovos-utils
[submodule "ovos-bus-client"]
path = ovos-bus-client
url = https://github.com/OpenVoiceOS/ovos-bus-client
[submodule "ovos-plugin-manager"]
path = ovos-plugin-manager
url = https://github.com/OpenVoiceOS/ovos-plugin-manager
[submodule "ovos-cli-client"]
path = ovos-cli-client
url = https://github.com/OpenVoiceOS/ovos-cli-client
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEPRECATED: ovos-cli-client

[submodule "ovos-PHAL"]
path = ovos-PHAL
url = https://github.com/OpenVoiceOS/ovos-PHAL
[submodule "ovos-phal-plugin-connectivity-events"]
path = ovos-phal-plugin-connectivity-events
url = https://github.com/OpenVoiceOS/ovos-phal-plugin-connectivity-events
[submodule "ovos-phal-plugin-system"]
path = ovos-phal-plugin-system
url = https://github.com/OpenVoiceOS/ovos-phal-plugin-system
[submodule "ovos-PHAL-plugin-ipgeo"]
path = ovos-PHAL-plugin-ipgeo
url = https://github.com/OpenVoiceOS/ovos-PHAL-plugin-ipgeo
[submodule "ovos-PHAL-plugin-oauth"]
path = ovos-PHAL-plugin-oauth
url = https://github.com/OpenVoiceOS/ovos-PHAL-plugin-oauth
[submodule "ovos-phal-plugin-alsa"]
path = ovos-phal-plugin-alsa
url = https://github.com/OpenVoiceOS/ovos-phal-plugin-alsa
[submodule "skill-ovos-volume"]
path = skill-ovos-volume
url = https://github.com/OpenVoiceOS/skill-ovos-volume
[submodule "skill-ovos-fallback-unknown"]
path = skill-ovos-fallback-unknown
url = https://github.com/OpenVoiceOS/skill-ovos-fallback-unknown
[submodule "skill-ovos-stop"]
path = skill-ovos-stop
url = https://github.com/OpenVoiceOS/skill-ovos-stop
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DEPRECATED: skill-ovos-stop

[submodule "skill-alerts"]
path = skill-alerts
url = https://github.com/OpenVoiceOS/skill-alerts
[submodule "skill-ovos-personal"]
path = skill-ovos-personal
url = https://github.com/OpenVoiceOS/skill-ovos-personal
[submodule "skill-ovos-naptime"]
path = skill-ovos-naptime
url = https://github.com/OpenVoiceOS/skill-ovos-naptime
[submodule "skill-ovos-date-time"]
path = skill-ovos-date-time
url = https://github.com/OpenVoiceOS/skill-ovos-date-time
[submodule "skill-ovos-weather"]
path = skill-ovos-weather
url = https://github.com/OpenVoiceOS/skill-ovos-weather
[submodule "skill-ovos-hello-world"]
path = skill-ovos-hello-world
url = https://github.com/OpenVoiceOS/skill-ovos-hello-world
[submodule "skill-ovos-ddg"]
path = skill-ovos-ddg
url = https://github.com/OpenVoiceOS/skill-ovos-ddg
[submodule "skill-ovos-wolfie"]
path = skill-ovos-wolfie
url = https://github.com/OpenVoiceOS/skill-ovos-wolfie
[submodule "skill-ovos-wikipedia"]
path = skill-ovos-wikipedia
url = https://github.com/OpenVoiceOS/skill-ovos-wikipedia
[submodule "skill-ovos-fallback-chatgpt"]
path = skill-ovos-fallback-chatgpt
url = https://github.com/OpenVoiceOS/skill-ovos-fallback-chatgpt
[submodule "skill-ovos-news"]
path = skill-ovos-news
url = https://github.com/OpenVoiceOS/skill-ovos-news
[submodule "skill-ovos-somafm"]
path = skill-ovos-somafm
url = https://github.com/OpenVoiceOS/skill-ovos-somafm
[submodule "skill-ovos-youtube-music"]
path = skill-ovos-youtube-music
url = https://github.com/OpenVoiceOS/skill-ovos-youtube-music
93 changes: 92 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,92 @@
#
# Overview

This repository contains submodules for all the git repos that form an OVOS release.

It provides a convenient way for developers to work on OVOS as a whole and a reliable way to define the code contained in a release.

As such the main use of the ovos-releases repo will be
1. for developers to track ongoing collaborative work by simply pull/updating all submodules
2. for users and/or testers to obtain fixed snapshots of OVOS as a whole.

This is currently a proposal/wip and is intended to be expanded and refined.

## Releases
Releases will be represented by a tag in this ovos-releases repo.

This will identify the exact commit in each submodule that will be used for that release.

# Useful branches

There will be two types of branches in ovos-releases: release-candidate (rc/) and feature (feat/).

## Release branches : rc/$R

The rc/$R branch is the development branch for working towards release $R and, post-release, for providing point-release updates.

The rc/$R branch will automatically be kept up-to-date with the dev branches of all submodules.

Release candidates (testing points) and releases are tagged on the rc/$R branch.

After a release, the rc/$R+1 branch will be created and will become the new default branch.

The (now-old) rc/$R-1 branch may have bug fixes applied and subsequent point releases may be tagged along the 'old' rc/$R-1 branch.

Submodules will not generally need to have rc/$X branches. If bug fixes are required after a release $X and the repo has commits that are not desired in the release then they will have an rc/$X branch created at the sha1 of the submodule in ovos-releases at the release tag. Bug fixes will be applied to this branch and the rc/$X branch in ovos-releases will have the submodule sha1 updated. Point release tags would then be made on the rc/$X branch.

## Feature Branches

All changes that involve more than one repo should be co-ordinated in a feature branch in ovos-releases.

This will allow cross-repo pip version dependencies and API changes to be contained in the scope of that branch.

That feature branch is then added to all repos that need to be modified.

Once work on the feature branch is complete (ie at least enough that it is accepted into general development) then it can be merged to rc/$R on ovos-releases and this process will merge the feature branches on all submodules to dev too (ie this could be automated). Alternatively the feature branches on all relevant submodules could be merged to dev and then they would automatically be picked up by rc/$R.

Each feature should have a relevant issue in https://github.com/OpenVoiceOS/ovos-releases/issues to track activity and provide information about the feature. Then the developer can request a feature branch in ovos-releases on the issue. (Because Github doesn't allow a PR to a non-existant branch afaik).

(See https://github.blog/changelog/2022-03-02-create-a-branch-for-an-issue/ and https://github.com/marketplace/actions/create-issue-branch for ideas on how to simplify this)

The branch should be named feat/{issue#}_{name}

Feature branches in ovos-releases are NOT expected to be functional. It may be the case that some submodules have outstanding PRs or the feature may simply be in a WIP status.

Note: It may be appropriate for breaking changes that only affect one repo to be pushed to a WIP branch in a submodule. This will avoid being pulled into the rc/$R branch until it's ready. This doesn't need to be a feature branch for a single repo but there's no reason it can't be.

# Updates from submodules

How does a change in a submodule get accepted into ovos-releases.

First clone ovos-releases (you're probably doing that anyway)

1. Normal development on a single repo (eg bug fix, isolated feature)
1. Work on the dev branch in the submodule
1. Test and commit changes
1. Submit PR to submodule repo
1. PR approved
1. Updated submodules in ovos-releases
1. Commit with a suitable message
1. Submit PR for ovos-releases

The last 3 steps should be automated when a PR is approved to any submodule dev branches. This automation should appropriately update all feature branches too

1. Normal development on multiple repos (eg bug fix, distributed feature, pip dependency changes)
1. Create an issue on ovos-releases for the feature. Note that this can be done at any time should the developer realise that multiple repos are impacted.
1. Request feat/$F branch in the ovos-releases issue (for each submodule too)
1. Create and checkout the feature branch (feat/$F) in each submodule.
1. Work on the feature branch in the submodules
1. Test and commit changes
1. Submit PR to each submodule repo for the feat/$F branch
1. PRs approved
1. Updated submodules in feat/$F ovos-releases. At this point all non-involved repos are on the 'dev' branch and involved repos are on the feat/$F branch.

Could we automate on any PR to any submodule on branch == feat/$F

Note: submodule feature branches must be manually kept up-to-date (rebase etc) with submodule dev branches.

Note: It would be tricky for normal users to test with multiple features at once as that's complex and would proably need a local merge of feature branches.

# Release process

TBD

1 change: 1 addition & 0 deletions ovos-PHAL
Submodule ovos-PHAL added at 09f8b3
1 change: 1 addition & 0 deletions ovos-PHAL-plugin-ipgeo
Submodule ovos-PHAL-plugin-ipgeo added at 13a266
1 change: 1 addition & 0 deletions ovos-PHAL-plugin-oauth
Submodule ovos-PHAL-plugin-oauth added at 4c6798
1 change: 1 addition & 0 deletions ovos-audio
Submodule ovos-audio added at 00f0b9
1 change: 1 addition & 0 deletions ovos-audio-transformer-plugin-ggwave
1 change: 1 addition & 0 deletions ovos-backend-client
Submodule ovos-backend-client added at cf102b
1 change: 1 addition & 0 deletions ovos-bus-client
Submodule ovos-bus-client added at c14f12
1 change: 1 addition & 0 deletions ovos-cli-client
Submodule ovos-cli-client added at e7c1b5
1 change: 1 addition & 0 deletions ovos-config
Submodule ovos-config added at 35e83d
1 change: 1 addition & 0 deletions ovos-core
Submodule ovos-core added at e15742
1 change: 1 addition & 0 deletions ovos-dinkum-listener
Submodule ovos-dinkum-listener added at 4f6880
1 change: 1 addition & 0 deletions ovos-lingua-franca
Submodule ovos-lingua-franca added at a47410
1 change: 1 addition & 0 deletions ovos-messagebus
Submodule ovos-messagebus added at 102583
1 change: 1 addition & 0 deletions ovos-microphone-plugin-sounddevice
1 change: 1 addition & 0 deletions ovos-ocp-audio-plugin
Submodule ovos-ocp-audio-plugin added at 12fe60
1 change: 1 addition & 0 deletions ovos-phal-plugin-alsa
Submodule ovos-phal-plugin-alsa added at da0681
1 change: 1 addition & 0 deletions ovos-phal-plugin-connectivity-events
1 change: 1 addition & 0 deletions ovos-phal-plugin-system
1 change: 1 addition & 0 deletions ovos-plugin-manager
Submodule ovos-plugin-manager added at 36b67e
1 change: 1 addition & 0 deletions ovos-stt-plugin-server
Submodule ovos-stt-plugin-server added at b9415a
1 change: 1 addition & 0 deletions ovos-tts-plugin-mimic
Submodule ovos-tts-plugin-mimic added at 92f35d
1 change: 1 addition & 0 deletions ovos-tts-plugin-mimic3-server
1 change: 1 addition & 0 deletions ovos-tts-plugin-piper
Submodule ovos-tts-plugin-piper added at 708d82
1 change: 1 addition & 0 deletions ovos-tts-server-plugin
Submodule ovos-tts-server-plugin added at 8a6d8a
1 change: 1 addition & 0 deletions ovos-utils
Submodule ovos-utils added at 56aabe
1 change: 1 addition & 0 deletions ovos-vad-plugin-silero
Submodule ovos-vad-plugin-silero added at 65fe25
1 change: 1 addition & 0 deletions ovos-vad-plugin-webrtcvad
1 change: 1 addition & 0 deletions ovos-workshop
Submodule ovos-workshop added at 521c1b
1 change: 1 addition & 0 deletions ovos-ww-plugin-pocketsphinx
1 change: 1 addition & 0 deletions ovos-ww-plugin-precise
Submodule ovos-ww-plugin-precise added at e33f86
1 change: 1 addition & 0 deletions ovos-ww-plugin-precise-lite
1 change: 1 addition & 0 deletions skill-alerts
Submodule skill-alerts added at 7066e2
1 change: 1 addition & 0 deletions skill-ovos-date-time
Submodule skill-ovos-date-time added at 1f14dd
1 change: 1 addition & 0 deletions skill-ovos-ddg
Submodule skill-ovos-ddg added at 4cac62
1 change: 1 addition & 0 deletions skill-ovos-fallback-chatgpt
1 change: 1 addition & 0 deletions skill-ovos-fallback-unknown
1 change: 1 addition & 0 deletions skill-ovos-hello-world
Submodule skill-ovos-hello-world added at 42bee0
1 change: 1 addition & 0 deletions skill-ovos-naptime
Submodule skill-ovos-naptime added at ce59ad
1 change: 1 addition & 0 deletions skill-ovos-news
Submodule skill-ovos-news added at 2cad72
1 change: 1 addition & 0 deletions skill-ovos-personal
Submodule skill-ovos-personal added at d4da33
1 change: 1 addition & 0 deletions skill-ovos-somafm
Submodule skill-ovos-somafm added at b3496f
1 change: 1 addition & 0 deletions skill-ovos-stop
Submodule skill-ovos-stop added at 34ebb0
1 change: 1 addition & 0 deletions skill-ovos-volume
Submodule skill-ovos-volume added at eed93b
1 change: 1 addition & 0 deletions skill-ovos-weather
Submodule skill-ovos-weather added at 355c9c
1 change: 1 addition & 0 deletions skill-ovos-wikipedia
Submodule skill-ovos-wikipedia added at 6481d2
1 change: 1 addition & 0 deletions skill-ovos-wolfie
Submodule skill-ovos-wolfie added at ea7995
1 change: 1 addition & 0 deletions skill-ovos-youtube-music