-
Notifications
You must be signed in to change notification settings - Fork 16
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
chore: release_tests #590
chore: release_tests #590
Conversation
WalkthroughThe pull request introduces modifications to the GitHub Actions workflows and the Changes
Possibly related PRs
Poem
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## dev #590 +/- ##
==========================================
- Coverage 75.33% 72.86% -2.48%
==========================================
Files 15 15
Lines 3094 1537 -1557
==========================================
- Hits 2331 1120 -1211
+ Misses 763 417 -346
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 8
🧹 Outside diff range and nitpick comments (9)
.github/workflows/build_tests.yml (1)
43-43
: Consider documenting the extras groups.The installation command uses multiple extras groups (
mycroft
,lgpl
,plugins
,skills-*
). Consider adding a comment or documentation explaining what each group includes and why they're needed for the build tests.scripts/release.py (3)
12-14
: Consider expanding version pattern support.The current regex only supports alpha releases (e.g.,
a1
). Consider expanding it to support other pre-release versions:-pattern = re.compile(r'^(ovos-[\w-]+)==(\d+)\.(\d+)\.(\d+)(a\d+)?$') +pattern = re.compile(r'^(ovos-[\w-]+)==(\d+)\.(\d+)\.(\d+)((?:a|b|rc)\d+)?$')This would add support for:
- Beta releases (b1, b2, etc.)
- Release candidates (rc1, rc2, etc.)
35-35
: Enhance completion message with more details.Consider providing more informative output:
-print("Constraints files generated: constraints-stable.txt and constraints-testing.txt") +print(f"Successfully generated constraint files:") +print(f"- Stable constraints ({len(stable_constraints)} packages): {base}/constraints-stable.txt") +print(f"- Testing constraints ({len(testing_constraints)} packages): {base}/constraints-testing.txt")
1-35
: Consider restructuring for better modularity and CLI support.The script would benefit from a more modular structure:
- Split functionality into separate functions (e.g.,
get_packages()
,parse_version()
,generate_constraints()
)- Add command-line arguments for:
- Custom package prefix (instead of hardcoded "ovos-")
- Output directory
- Verbosity level
- Add a
main()
function andif __name__ == '__main__':
guardThis would improve maintainability and make the script more flexible for different use cases.
Would you like me to provide an example of this restructured version?
requirements/constraints-stable.txt (4)
27-27
: Inconsistent package naming convention.The packages
ovos-PHAL
andovos-PHAL-plugin-oauth
use uppercase "PHAL" while other packages use lowercase. This inconsistency could lead to confusion.Consider standardizing to lowercase:
-ovos-PHAL<0.3.0 -ovos-PHAL-plugin-oauth<0.2.0 +ovos-phal<0.3.0 +ovos-phal-plugin-oauth<0.2.0Also applies to: 30-30
20-20
: Consider grouping related OCP plugins.The OCP (Open Common Play) plugins are currently mixed with other packages. Consider grouping them together in the file for better maintainability.
Suggested grouping:
# OCP Plugins ovos-ocp-files-plugin<0.14.0 ovos-ocp-m3u-plugin<0.1.0 ovos-ocp-news-plugin<0.1.0 ovos-ocp-pipeline-plugin<1.1.0 ovos-ocp-rss-plugin<0.1.0 ovos-ocp-youtube-plugin<0.1.0Also applies to: 21-21, 22-22, 23-23, 24-24, 25-25
69-69
: Add newline at end of file.The file is missing a newline at the end, which is a common best practice for text files.
Add a newline after the last line:
ovos-ww-plugin-vosk<0.2.0 +
1-69
: Consider architectural implications of version constraints.The current constraints show varying upper bounds across different package categories:
- Core components (e.g., ovos-core, ovos-bus-client): <0.2.0 to <0.3.0
- Plugins: <0.1.0 to <0.3.0
- Skills: <0.2.0 to <0.6.0
This variance might indicate:
- Different maturity levels across components
- Potential compatibility challenges between newer skills and older core components
- Need for a more unified versioning strategy
Consider:
- Documenting the rationale behind version differences
- Creating a version compatibility matrix
- Implementing automated compatibility testing between components
🧰 Tools
🪛 LanguageTool
[locale-violation] ~7-~7: 'bus' é un xenismo. É preferíbel dicir "faixa-bus"
Context: ...rectional-translation-plugin<0.2.0 ovos-bus-client<0.2.0 ovos-classifiers<0.1.0 ovo...(GL_BARBARISM_REPLACE)
[locale-violation] ~9-~9: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...vos-classifiers<0.1.0 ovos-common-query-pipeline-plugin<1.1.0 ovos-config<0.3.0 ovos-cor...(GL_BARBARISM_REPLACE)
[locale-violation] ~23-~23: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...1.0 ovos-ocp-news-plugin<0.1.0 ovos-ocp-pipeline-plugin<1.1.0 ovos-ocp-rss-plugin<0.1.0 ...(GL_BARBARISM_REPLACE)
[locale-violation] ~32-~32: 'manager' é un xenismo. É preferíbel dicir "xerente" ou "adestrador"
Context: ...os-plugin-common-play<1.1.0 ovos-plugin-manager<0.6.0 ovos-skill-alerts<0.2.0 ovos-skil...(GL_BARBARISM_REPLACE)
[grammar] ~47-~47: 'personal' é un erro. Considere utilizar "persoal"
Context: ....4.0 ovos-skill-parrot<0.2.0 ovos-skill-personal<0.2.0 ovos-skill-pyradios<0.2.0 ovos-sk...(GL_WIKIPEDIA_COMMON_ERRORS)
[locale-violation] ~58-~58: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...t-plugin-chromium<0.2.0 ovos-stt-plugin-server<0.1.0 ovos-stt-plugin-vosk<0.3.0 ovos-t...(GL_BARBARISM_REPLACE)
[locale-violation] ~60-~60: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...os-stt-plugin-vosk<0.3.0 ovos-translate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1...(GL_BARBARISM_REPLACE)
[locale-violation] ~61-~61: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...ate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1.0 ovos-utils<0.4.0 ovos-utterance-c...(GL_BARBARISM_REPLACE)
[locale-violation] ~66-~66: 'noise' é un xenismo. É preferíbel dicir "barullo"
Context: ...nce-plugin-cancel<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugi...(GL_BARBARISM_REPLACE)
[locale-violation] ~67-~67: 'workshop' é un xenismo. É preferíbel dicir "taller de traballo"
Context: ...<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugin-precise-lite<0.2.0...(GL_BARBARISM_REPLACE)
.github/workflows/release_tests.yml (1)
3-18
: Consider enhancing workflow triggers.The workflow should also trigger when
scripts/release.py
is modified since it's critical for constraint generation. Additionally, consider addingworkflow_dispatch
event to allow manual workflow runs.on: pull_request: paths: + - 'scripts/release.py' - 'requirements/requirements.txt' - 'requirements/lgpl.txt' - 'requirements/mycroft.txt' - 'requirements/plugins.txt' - 'requirements/skills-audio.txt' - 'requirements/skills-desktop.txt' - 'requirements/skills-essential.txt' - 'requirements/skills-gui.txt' - 'requirements/skills-internet.txt' - 'requirements/skills-media.txt' - 'requirements/constraints-stable.txt' - 'requirements/constraints-testing.txt' + workflow_dispatch: # Allow manual trigger
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (5)
.github/workflows/build_tests.yml
(1 hunks).github/workflows/release_tests.yml
(1 hunks)requirements/constraints-stable.txt
(1 hunks)requirements/constraints-testing.txt
(1 hunks)scripts/release.py
(1 hunks)
🧰 Additional context used
🪛 actionlint
.github/workflows/release_tests.yml
37-37: shellcheck reported issue in this script: SC2102:info:1:17: Ranges can only match single chars (mentioned due to duplicates)
(shellcheck)
84-84: shellcheck reported issue in this script: SC2102:info:1:17: Ranges can only match single chars (mentioned due to duplicates)
(shellcheck)
🪛 LanguageTool
requirements/constraints-stable.txt
[locale-violation] ~7-~7: 'bus' é un xenismo. É preferíbel dicir "faixa-bus"
Context: ...rectional-translation-plugin<0.2.0 ovos-bus-client<0.2.0 ovos-classifiers<0.1.0 ovo...
(GL_BARBARISM_REPLACE)
[locale-violation] ~9-~9: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...vos-classifiers<0.1.0 ovos-common-query-pipeline-plugin<1.1.0 ovos-config<0.3.0 ovos-cor...
(GL_BARBARISM_REPLACE)
[locale-violation] ~23-~23: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...1.0 ovos-ocp-news-plugin<0.1.0 ovos-ocp-pipeline-plugin<1.1.0 ovos-ocp-rss-plugin<0.1.0 ...
(GL_BARBARISM_REPLACE)
[locale-violation] ~32-~32: 'manager' é un xenismo. É preferíbel dicir "xerente" ou "adestrador"
Context: ...os-plugin-common-play<1.1.0 ovos-plugin-manager<0.6.0 ovos-skill-alerts<0.2.0 ovos-skil...
(GL_BARBARISM_REPLACE)
[grammar] ~47-~47: 'personal' é un erro. Considere utilizar "persoal"
Context: ....4.0 ovos-skill-parrot<0.2.0 ovos-skill-personal<0.2.0 ovos-skill-pyradios<0.2.0 ovos-sk...
(GL_WIKIPEDIA_COMMON_ERRORS)
[locale-violation] ~58-~58: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...t-plugin-chromium<0.2.0 ovos-stt-plugin-server<0.1.0 ovos-stt-plugin-vosk<0.3.0 ovos-t...
(GL_BARBARISM_REPLACE)
[locale-violation] ~60-~60: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...os-stt-plugin-vosk<0.3.0 ovos-translate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1...
(GL_BARBARISM_REPLACE)
[locale-violation] ~61-~61: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...ate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1.0 ovos-utils<0.4.0 ovos-utterance-c...
(GL_BARBARISM_REPLACE)
[locale-violation] ~66-~66: 'noise' é un xenismo. É preferíbel dicir "barullo"
Context: ...nce-plugin-cancel<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugi...
(GL_BARBARISM_REPLACE)
[locale-violation] ~67-~67: 'workshop' é un xenismo. É preferíbel dicir "taller de traballo"
Context: ...<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugin-precise-lite<0.2.0...
(GL_BARBARISM_REPLACE)
requirements/constraints-testing.txt
[locale-violation] ~7-~7: 'bus' é un xenismo. É preferíbel dicir "faixa-bus"
Context: ...rectional-translation-plugin<1.0.0 ovos-bus-client<1.0.0 ovos-classifiers<1.0.0 ovo...
(GL_BARBARISM_REPLACE)
[locale-violation] ~9-~9: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...vos-classifiers<1.0.0 ovos-common-query-pipeline-plugin<2.0.0 ovos-config<1.0.0 ovos-cor...
(GL_BARBARISM_REPLACE)
[locale-violation] ~23-~23: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...0.0 ovos-ocp-news-plugin<1.0.0 ovos-ocp-pipeline-plugin<2.0.0 ovos-ocp-rss-plugin<1.0.0 ...
(GL_BARBARISM_REPLACE)
[locale-violation] ~32-~32: 'manager' é un xenismo. É preferíbel dicir "xerente" ou "adestrador"
Context: ...os-plugin-common-play<2.0.0 ovos-plugin-manager<1.0.0 ovos-skill-alerts<1.0.0 ovos-skil...
(GL_BARBARISM_REPLACE)
[grammar] ~47-~47: 'personal' é un erro. Considere utilizar "persoal"
Context: ....0.0 ovos-skill-parrot<1.0.0 ovos-skill-personal<1.0.0 ovos-skill-pyradios<1.0.0 ovos-sk...
(GL_WIKIPEDIA_COMMON_ERRORS)
[locale-violation] ~58-~58: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...t-plugin-chromium<1.0.0 ovos-stt-plugin-server<1.0.0 ovos-stt-plugin-vosk<1.0.0 ovos-t...
(GL_BARBARISM_REPLACE)
[locale-violation] ~60-~60: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...os-stt-plugin-vosk<1.0.0 ovos-translate-server-plugin<1.0.0 ovos-tts-plugin-server<1.0...
(GL_BARBARISM_REPLACE)
[locale-violation] ~61-~61: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...ate-server-plugin<1.0.0 ovos-tts-plugin-server<1.0.0 ovos-utils<1.0.0 ovos-utterance-c...
(GL_BARBARISM_REPLACE)
[locale-violation] ~66-~66: 'noise' é un xenismo. É preferíbel dicir "barullo"
Context: ...nce-plugin-cancel<1.0.0 ovos-vad-plugin-noise<1.0.0 ovos-workshop<2.0.0 ovos-ww-plugi...
(GL_BARBARISM_REPLACE)
[locale-violation] ~67-~67: 'workshop' é un xenismo. É preferíbel dicir "taller de traballo"
Context: ...<1.0.0 ovos-vad-plugin-noise<1.0.0 ovos-workshop<2.0.0 ovos-ww-plugin-precise-lite<1.0.0...
(GL_BARBARISM_REPLACE)
🔇 Additional comments (6)
.github/workflows/build_tests.yml (1)
43-43
: Verify dependency constraints management.
The installation command is well-structured with logical grouping of extras. However, since version constraints were removed, we should verify that dependencies are properly managed in the constraints files.
✅ Verification successful
Let's examine the content of these files to verify the constraint management.
Dependencies are properly constrained across requirement files
The version constraints for ovos-gui
and related packages are well-managed:
- Testing constraints:
ovos-gui<1.0.0
- Stable constraints:
ovos-gui<0.3.0
- Mycroft requirements:
ovos-gui[extras]>=0.2.2,<2.0.0
The removal of explicit version constraints from the pip install command is appropriate as the constraints are properly maintained in dedicated requirements files, following good practices for dependency management.
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Verify that dependencies are properly constrained in requirements files
# Expected: Find corresponding version constraints in the requirements files
# Check if the constraints files exist and contain relevant package constraints
echo "Checking constraints files for dependency management..."
rg -l "ovos-gui" requirements/
Length of output: 249
Script:
#!/bin/bash
# Check the content of the identified files for version constraints
echo "=== constraints-testing.txt ==="
cat requirements/constraints-testing.txt | grep -A 2 -B 2 "ovos-gui"
echo -e "\n=== constraints-stable.txt ==="
cat requirements/constraints-stable.txt | grep -A 2 -B 2 "ovos-gui"
echo -e "\n=== mycroft.txt ==="
cat requirements/mycroft.txt | grep -A 2 -B 2 "ovos-gui"
Length of output: 879
scripts/release.py (2)
1-4
: LGTM! Clean and appropriate imports.
The imports are well-organized and use specific imports rather than wildcards.
9-11
: LGTM! Clean initialization.
requirements/constraints-testing.txt (1)
1-69
: Consider adding dependency verification.
The constraints file lists individual package versions but doesn't guarantee compatibility between them. Consider adding a verification step to ensure all constrained versions can be installed together.
#!/bin/bash
# Description: Verify that all constrained packages can be installed together
# Create a temporary virtual environment
python -m venv /tmp/test_env
source /tmp/test_env/bin/activate
# Try installing all packages with constraints
echo "Attempting to install all packages with constraints..."
pip install -r requirements/constraints-testing.txt
# Check installation status
if [ $? -eq 0 ]; then
echo "All packages installed successfully"
else
echo "Installation failed - possible incompatibility between package versions"
fi
# Cleanup
deactivate
rm -rf /tmp/test_env
🧰 Tools
🪛 LanguageTool
[locale-violation] ~7-~7: 'bus' é un xenismo. É preferíbel dicir "faixa-bus"
Context: ...rectional-translation-plugin<1.0.0 ovos-bus-client<1.0.0 ovos-classifiers<1.0.0 ovo...
(GL_BARBARISM_REPLACE)
[locale-violation] ~9-~9: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...vos-classifiers<1.0.0 ovos-common-query-pipeline-plugin<2.0.0 ovos-config<1.0.0 ovos-cor...
(GL_BARBARISM_REPLACE)
[locale-violation] ~23-~23: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...0.0 ovos-ocp-news-plugin<1.0.0 ovos-ocp-pipeline-plugin<2.0.0 ovos-ocp-rss-plugin<1.0.0 ...
(GL_BARBARISM_REPLACE)
[locale-violation] ~32-~32: 'manager' é un xenismo. É preferíbel dicir "xerente" ou "adestrador"
Context: ...os-plugin-common-play<2.0.0 ovos-plugin-manager<1.0.0 ovos-skill-alerts<1.0.0 ovos-skil...
(GL_BARBARISM_REPLACE)
[grammar] ~47-~47: 'personal' é un erro. Considere utilizar "persoal"
Context: ....0.0 ovos-skill-parrot<1.0.0 ovos-skill-personal<1.0.0 ovos-skill-pyradios<1.0.0 ovos-sk...
(GL_WIKIPEDIA_COMMON_ERRORS)
[locale-violation] ~58-~58: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...t-plugin-chromium<1.0.0 ovos-stt-plugin-server<1.0.0 ovos-stt-plugin-vosk<1.0.0 ovos-t...
(GL_BARBARISM_REPLACE)
[locale-violation] ~60-~60: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...os-stt-plugin-vosk<1.0.0 ovos-translate-server-plugin<1.0.0 ovos-tts-plugin-server<1.0...
(GL_BARBARISM_REPLACE)
[locale-violation] ~61-~61: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...ate-server-plugin<1.0.0 ovos-tts-plugin-server<1.0.0 ovos-utils<1.0.0 ovos-utterance-c...
(GL_BARBARISM_REPLACE)
[locale-violation] ~66-~66: 'noise' é un xenismo. É preferíbel dicir "barullo"
Context: ...nce-plugin-cancel<1.0.0 ovos-vad-plugin-noise<1.0.0 ovos-workshop<2.0.0 ovos-ww-plugi...
(GL_BARBARISM_REPLACE)
[locale-violation] ~67-~67: 'workshop' é un xenismo. É preferíbel dicir "taller de traballo"
Context: ...<1.0.0 ovos-vad-plugin-noise<1.0.0 ovos-workshop<2.0.0 ovos-ww-plugin-precise-lite<1.0.0...
(GL_BARBARISM_REPLACE)
requirements/constraints-stable.txt (1)
1-69
:
Review version constraint patterns for security and stability.
The use of '<' operator for all version constraints might expose the system to potential security risks. Consider using the '>=' operator with an exact upper bound '<='.
For example:
-ovos-utils<0.4.0
+ovos-utils>=0.3.0,<=0.4.0
This ensures:
- A minimum tested version is explicitly specified
- Security patches within the minimum version are included
- Upper bound still prevents breaking changes
🧰 Tools
🪛 LanguageTool
[locale-violation] ~7-~7: 'bus' é un xenismo. É preferíbel dicir "faixa-bus"
Context: ...rectional-translation-plugin<0.2.0 ovos-bus-client<0.2.0 ovos-classifiers<0.1.0 ovo...
(GL_BARBARISM_REPLACE)
[locale-violation] ~9-~9: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...vos-classifiers<0.1.0 ovos-common-query-pipeline-plugin<1.1.0 ovos-config<0.3.0 ovos-cor...
(GL_BARBARISM_REPLACE)
[locale-violation] ~23-~23: 'pipeline' é un xenismo. É preferíbel dicir "gasoduto"
Context: ...1.0 ovos-ocp-news-plugin<0.1.0 ovos-ocp-pipeline-plugin<1.1.0 ovos-ocp-rss-plugin<0.1.0 ...
(GL_BARBARISM_REPLACE)
[locale-violation] ~32-~32: 'manager' é un xenismo. É preferíbel dicir "xerente" ou "adestrador"
Context: ...os-plugin-common-play<1.1.0 ovos-plugin-manager<0.6.0 ovos-skill-alerts<0.2.0 ovos-skil...
(GL_BARBARISM_REPLACE)
[grammar] ~47-~47: 'personal' é un erro. Considere utilizar "persoal"
Context: ....4.0 ovos-skill-parrot<0.2.0 ovos-skill-personal<0.2.0 ovos-skill-pyradios<0.2.0 ovos-sk...
(GL_WIKIPEDIA_COMMON_ERRORS)
[locale-violation] ~58-~58: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...t-plugin-chromium<0.2.0 ovos-stt-plugin-server<0.1.0 ovos-stt-plugin-vosk<0.3.0 ovos-t...
(GL_BARBARISM_REPLACE)
[locale-violation] ~60-~60: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...os-stt-plugin-vosk<0.3.0 ovos-translate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1...
(GL_BARBARISM_REPLACE)
[locale-violation] ~61-~61: 'server' é un xenismo. É preferíbel dicir "servidor"
Context: ...ate-server-plugin<0.1.0 ovos-tts-plugin-server<0.1.0 ovos-utils<0.4.0 ovos-utterance-c...
(GL_BARBARISM_REPLACE)
[locale-violation] ~66-~66: 'noise' é un xenismo. É preferíbel dicir "barullo"
Context: ...nce-plugin-cancel<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugi...
(GL_BARBARISM_REPLACE)
[locale-violation] ~67-~67: 'workshop' é un xenismo. É preferíbel dicir "taller de traballo"
Context: ...<0.3.0 ovos-vad-plugin-noise<0.2.0 ovos-workshop<1.1.0 ovos-ww-plugin-precise-lite<0.2.0...
(GL_BARBARISM_REPLACE)
.github/workflows/release_tests.yml (1)
1-89
: Verify workflow interaction with build_tests.yml.
Since this workflow runs alongside the existing build_tests.yml
, we should ensure there's no redundancy or conflicts between them.
✅ Verification successful
Workflows are complementary and serve different purposes
The workflows are well-differentiated and complementary:
build_tests.yml
focuses on package building across multiple Python versions (3.7-3.11) and runs on changes tosetup.py
andrequirements/**
release_tests.yml
specifically handles constraints file updates and testing, triggered only by changes to requirement files
No conflicts or redundancy found. The workflows have distinct responsibilities:
- Build workflow: Validates package building and basic installation
- Release workflow: Manages constraints files and runs unit tests against them
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for potential conflicts or redundancy between workflows
# Test: Compare triggers and job steps between workflows
echo "Comparing workflow triggers:"
rg -A 5 "on:" .github/workflows/build_tests.yml
echo "Comparing job steps:"
rg "run:|uses:" .github/workflows/build_tests.yml
Length of output: 852
Script:
#!/bin/bash
# Get full content of build_tests.yml for detailed analysis
echo "Content of build_tests.yml:"
cat .github/workflows/build_tests.yml
Length of output: 1310
🧰 Tools
🪛 actionlint
37-37: shellcheck reported issue in this script: SC2102:info:1:17: Ranges can only match single chars (mentioned due to duplicates)
(shellcheck)
84-84: shellcheck reported issue in this script: SC2102:info:1:17: Ranges can only match single chars (mentioned due to duplicates)
(shellcheck)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
🧹 Outside diff range and nitpick comments (3)
.github/workflows/constraint_tests.yml (3)
3-17
: Enhance workflow trigger configurationConsider these improvements to the workflow configuration:
- Add the workflow file itself to the path triggers to ensure changes are tested
- Add concurrency configuration to prevent simultaneous runs on the same PR
on: workflow_dispatch: pull_request: paths: - 'requirements/requirements.txt' - 'requirements/lgpl.txt' - 'requirements/mycroft.txt' - 'requirements/plugins.txt' - 'requirements/skills-audio.txt' - 'requirements/skills-desktop.txt' - 'requirements/skills-essential.txt' - 'requirements/skills-gui.txt' - 'requirements/skills-internet.txt' - 'requirements/skills-media.txt' + - '.github/workflows/constraint_tests.yml' +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true
18-24
: Add job safeguards and configurationConsider adding timeout and fail-fast configurations to prevent hung jobs and improve CI efficiency.
jobs: test-stable-and-testing-constraints: runs-on: ubuntu-latest + timeout-minutes: 30 strategy: + fail-fast: false matrix: constraints_file: ['stable', 'testing']
34-38
: Improve system dependency installation reliabilityAdd error handling and version pinning to ensure reproducible builds.
- name: Install System Dependencies run: | + set -eo pipefail sudo apt-get update - sudo apt install python3-dev swig libssl-dev portaudio19-dev libpulse-dev libfann-dev + sudo apt-get install -y --no-install-recommends \ + python3-dev=3.8* \ + swig=4.0* \ + libssl-dev \ + portaudio19-dev \ + libpulse-dev \ + libfann-dev
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (2)
.github/workflows/constraint_tests.yml
(1 hunks)requirements/requirements.txt
(0 hunks)
💤 Files with no reviewable changes (1)
- requirements/requirements.txt
🧰 Additional context used
🪛 actionlint
.github/workflows/constraint_tests.yml
44-44: shellcheck reported issue in this script: SC2102:info:1:17: Ranges can only match single chars (mentioned due to duplicates)
(shellcheck)
add test for installation with constraints files from https://github.com/OpenVoiceOS/ovos-releases
Summary by CodeRabbit
ovos-gui
package.ovos-utils
dependency from the requirements file, indicating a shift in project dependencies.