Skip to content
Open
Show file tree
Hide file tree
Changes from 182 commits
Commits
Show all changes
266 commits
Select commit Hold shift + click to select a range
2fd41ba
Delete .idea/copilot.data.migration.ask2agent.xml
MH0386 Oct 2, 2025
687ae12
Delete .idea/copilot.data.migration.edit.xml
MH0386 Oct 2, 2025
a305cac
Merge branch 'main' into enhance
mergify[bot] Oct 2, 2025
5f43801
Merge branch 'main' into enhance
mergify[bot] Oct 2, 2025
0e1644a
Merge branch 'main' into enhance
mergify[bot] Oct 2, 2025
45b756e
Delete dependabot.yaml
MH0386 Oct 2, 2025
211ff0a
Refactor memory retrieval and error handling in chatbot response gene…
MH0386 Oct 2, 2025
566e2b8
Update environment variables for model configuration
MH0386 Oct 2, 2025
bb190ff
style: format code with Ruff Formatter
deepsource-autofix[bot] Oct 2, 2025
4089b97
Refactor App class to use class methods and improve memory handling
MH0386 Oct 2, 2025
8e7f6e9
Merge branch 'enhance' of https://github.com/AlphaSphereDotAI/chattr …
MH0386 Oct 2, 2025
ec36f60
refactor: convert instance methods to class methods for URL handling …
MH0386 Oct 2, 2025
94782cb
style: format code with Ruff Formatter
deepsource-autofix[bot] Oct 2, 2025
24bcb7e
refactor: remove unsupported type declarations from class assignments
deepsource-autofix[bot] Oct 2, 2025
7d08cff
refactor: update Dockerfile to use ARG for INSTALL_SOURCE and install…
MH0386 Oct 2, 2025
9606556
refactor: update Mergify configuration to add rules for trunk updates…
MH0386 Oct 2, 2025
41bd19f
refactor: enhance Docker workflow with dynamic registry login and imp…
MH0386 Oct 2, 2025
5ac4212
refactor: remove unused FASTEMBED_CACHE_PATH environment variable
MH0386 Oct 2, 2025
79e0f2d
refactor: add no-verify option for linter fix commits
MH0386 Oct 2, 2025
25c7df1
refactor: update build workflow to use repository URL and improve bra…
MH0386 Oct 2, 2025
5a51ee6
refactor: remove HuggingFace upload job from release workflow
MH0386 Oct 2, 2025
8740343
refactor: enhance job summary in test workflow to include dependency …
MH0386 Oct 2, 2025
c8884f0
refactor: update condition to trigger versioning job for renovate[bot]
MH0386 Oct 2, 2025
025c573
Merge pull request #401 from AlphaSphereDotAI/ci
MH0386 Oct 2, 2025
f2a34b4
Merge branch 'main' into enhance
MH0386 Oct 2, 2025
a3f8c7e
Delete src/chattr/app/gui.py
MH0386 Oct 2, 2025
1754b84
Delete src/chattr/app/utils.py
MH0386 Oct 2, 2025
98d260c
Merge branch 'main' into enhance
mergify[bot] Oct 3, 2025
1603800
Merge branch 'main' into enhance
mergify[bot] Oct 3, 2025
8632f95
Improve MCP config error handling in App setup
MH0386 Oct 3, 2025
44d5ba2
Merge branch 'enhance' of https://github.com/AlphaSphereDotAI/chattr …
MH0386 Oct 3, 2025
cd80f8e
Rename mcp-config.json to mcp-schema.json and update references
MH0386 Oct 3, 2025
b68b8be
Update environment variables for model configuration
MH0386 Oct 3, 2025
6a95c4e
Add configuration files for Checkov, Trivy, and Ruff
MH0386 Oct 3, 2025
a81c7b7
Refactor MCP configuration structure by removing mcp-schema.json and …
MH0386 Oct 3, 2025
26a0122
Refactor MCPSettings by removing schema_path and related validation l…
MH0386 Oct 3, 2025
deeed77
Fix return statement in App.create method and update memory setup doc…
MH0386 Oct 3, 2025
96ac58d
Add Docker run configurations to IDE project files
MH0386 Oct 4, 2025
3d32905
Update mcp.json
MH0386 Oct 4, 2025
2491a14
Add Docker Compose development configuration
MH0386 Oct 4, 2025
18bb6dd
Remove hardcoded server port from app launch
MH0386 Oct 4, 2025
2cce5c7
Replace PlayableVideo with Video and update audio config and download
MH0386 Oct 4, 2025
4c48a26
Enhance URL validation check
MH0386 Oct 4, 2025
2510780
Remove unused audio conversion method and improve logging
MH0386 Oct 4, 2025
3d6c299
Handle unsupported audio source keys in response.
MH0386 Oct 4, 2025
fdf5601
Add missing message type imports from langchain_core and Add type hint
MH0386 Oct 4, 2025
e36bf97
Fix trailing comma after JSON dict
MH0386 Oct 4, 2025
fabfc8c
Move Connection import to TYPE_CHECKING block
MH0386 Oct 4, 2025
cb6b4bb
Add trailing commas and debug log response type keys
MH0386 Oct 4, 2025
f356cde
Refactor response handling and update method signatures to include vi…
MH0386 Oct 4, 2025
608d46d
Add ruff configuration extension to pyproject.toml
MH0386 Oct 4, 2025
58bf3e3
Fix trailing commas in function calls and docstrings for consistency
MH0386 Oct 4, 2025
cd3e350
Remove loguru dependency
MH0386 Oct 5, 2025
ec0e2fb
Add logging configuration and remove loguru dependency.
MH0386 Oct 5, 2025
fde07f8
Add debug logging for agent and tool responses
MH0386 Oct 5, 2025
f2fd5c6
Fix unused return values from click/submit handlers
MH0386 Oct 5, 2025
6b7ce15
Fix docstring formatting and whitespace
MH0386 Oct 5, 2025
4912efc
Set parallel tool calls to False in LLM binding
MH0386 Oct 5, 2025
925d9d9
Initialize core app with Console and warning filters
MH0386 Oct 5, 2025
e38147d
Move logger handler setup to settings init
MH0386 Oct 5, 2025
4c61246
Merge pull request #411 from AlphaSphereDotAI/logging
MH0386 Oct 5, 2025
954240a
Add prompts directory to DirectorySettings and update directory creat…
MH0386 Oct 5, 2025
a683851
Add poml dependency to project and update lock file
MH0386 Oct 5, 2025
1e76ac5
Add template.poml file for system prompt configuration
MH0386 Oct 6, 2025
050ee7d
Merge branch 'enhance' into prompt
MH0386 Oct 6, 2025
ea7b1e4
Merge branch 'main' into enhance
MH0386 Oct 6, 2025
8b54c63
Merge branch 'enhance' into prompt
mergify[bot] Oct 6, 2025
2a81666
Unpacking for messages in ainvoke calls
MH0386 Oct 6, 2025
2b2083d
Refactor template.poml to use <role> and <task> elements for improved…
MH0386 Oct 6, 2025
5adf7f4
Enhance devenv.nix configuration with improved process management and…
MH0386 Oct 6, 2025
1cd56c4
Update trunk.yaml to enable nixpkgs-fmt and and rm tools uv and direnv
MH0386 Oct 6, 2025
63b7544
Refactor builder.py to enhance message handling and integrate `Langch…
MH0386 Oct 6, 2025
fa8dfd7
Enhance devenv.nix with improved process management and readiness pro…
MH0386 Oct 7, 2025
2c3ebc8
Update devenv.nix
MH0386 Oct 7, 2025
f43565e
Add video_generator mcp
MH0386 Oct 7, 2025
045c1d5
Update template.poml to enhance audio and video generation instructio…
MH0386 Oct 7, 2025
166406b
Update template.poml to enhance audio and video generation instructio…
MH0386 Oct 7, 2025
23a8972
Update prompt
MH0386 Oct 8, 2025
dd75c18
Fix chatbot error handling and type hints
MH0386 Oct 8, 2025
984416c
Refactor prompt template to include video generation
MH0386 Oct 8, 2025
42a7d57
Update launch configuration for server debugging
MH0386 Oct 11, 2025
4fbafa9
Add doppler-env dependency to development group in pyproject.toml and…
MH0386 Oct 11, 2025
bc6ddec
Remove devenv configuration files and related environment setup
MH0386 Oct 11, 2025
9d31422
Update launch configuration to standardize server name and module path
MH0386 Oct 15, 2025
6c69cdb
Add doppler-env dependency to development group in pyproject.toml and…
MH0386 Oct 15, 2025
af395c6
Remove nixpkgs-fmt from enabled linting tools in trunk.yaml
MH0386 Oct 16, 2025
cacb55a
Refactor Docker Compose configuration to rename container and streaml…
MH0386 Oct 16, 2025
0df5c15
Add command configuration to devcontainer for interactive shell
MH0386 Oct 16, 2025
f739ffd
Add initial devcontainer configuration for Chattr project
MH0386 Oct 16, 2025
0e22e99
Add devcontainer lock file and update devcontainer configuration
MH0386 Oct 16, 2025
693f755
Update devcontainer configuration and lock file to include additional…
MH0386 Oct 16, 2025
8aa4863
Add 'bat' feature to devcontainer and update volume mounts in compose…
MH0386 Oct 16, 2025
ae953e4
Add setup script to install Doppler CLI in devcontainer
MH0386 Oct 17, 2025
8766546
Enhance devcontainer setup by adding Doppler installation script and …
MH0386 Oct 17, 2025
1e60c85
add devcontainer
MH0386 Oct 18, 2025
fceb9f8
update devcontainer
MH0386 Oct 18, 2025
d38279d
rm devenv
MH0386 Oct 18, 2025
6faec58
Merge branch 'enhance' into prompt
mergify[bot] Oct 18, 2025
86a1e11
Merge 6faec5824c7a12bb3cc3d4d2e43e9bb08758cc44 into bc6ddec8915f4d157…
MH0386 Oct 18, 2025
b6702c3
[Trunk] Apply linters fixes
mergify[bot] Oct 18, 2025
7e4e8d3
Merge branch 'main' into enhance
mergify[bot] Oct 18, 2025
f7f93a8
Merge branch 'enhance' into prompt
mergify[bot] Oct 18, 2025
fc2d9cb
Merge pull request #414 from AlphaSphereDotAI/prompt
MH0386 Oct 18, 2025
f9d72ed
Merge branch 'main' into enhance
mergify[bot] Oct 18, 2025
af015c4
rm devcontainer
MH0386 Oct 19, 2025
a1e8f52
Adds agent development guidelines
MH0386 Oct 19, 2025
338368e
Introduces Opencode workflow job
MH0386 Oct 19, 2025
5735f24
Disables several Trunk actions
MH0386 Oct 19, 2025
f4409b0
rm pre-commit-hooks linter
MH0386 Oct 19, 2025
e0fc704
Merge f4409b05eead78c2a8379ce96276c5580122d112 into a1e8f5285d5d2c6af…
MH0386 Oct 19, 2025
136ac45
[Trunk] Apply linters fixes
MH0386 Oct 19, 2025
5f2819f
Add pre-commit-hooks to linting configuration
MH0386 Oct 19, 2025
c89fea9
Updates CI comment trigger and removes concurrency.
MH0386 Oct 19, 2025
6283b3a
Merge branch 'ci' of github.com:AlphaSphereDotAI/chattr into ci
MH0386 Oct 19, 2025
d2a001b
Merge 6283b3ad514a194e69e576cc149e43a1c1cdb273 into a1e8f5285d5d2c6af…
MH0386 Oct 19, 2025
331a8a5
[Trunk] Apply linters fixes
MH0386 Oct 19, 2025
2e667e2
Merge pull request #421 from AlphaSphereDotAI/ci
MH0386 Oct 19, 2025
812c329
Avoid deleting branches on unmerged PR closures
MH0386 Oct 19, 2025
08082b1
Uses pyproject.toml for Python version in Docker and remove docker bu…
MH0386 Oct 19, 2025
3687fa4
Prevents redundant version updates in CI
MH0386 Oct 19, 2025
bb19a43
Merge branch 'enhance' into ci
MH0386 Oct 19, 2025
87a2f0a
Merge pull request #422 from AlphaSphereDotAI/ci
MH0386 Oct 19, 2025
38cd607
Merge branch 'enhance' of github.com:AlphaSphereDotAI/chattr into enh…
MH0386 Oct 19, 2025
caebddc
Installs uv via apk and adds Python version control
MH0386 Oct 19, 2025
50489e5
Fixes workflow `if` condition syntax
MH0386 Oct 19, 2025
7556026
Adds healthcheck for app service
MH0386 Oct 19, 2025
eef4161
add graph diagram
MH0386 Oct 19, 2025
7237cb6
add debug option
MH0386 Oct 19, 2025
4b4ef3a
Adds debug sidebar to GUI
MH0386 Oct 19, 2025
6fc96f9
Extracts prompt and memory setup logic
MH0386 Oct 19, 2025
7cf3342
Refactors memory persistence logic
MH0386 Oct 19, 2025
147e9f3
Uses Path.open() for file I/O
MH0386 Oct 20, 2025
ca536f2
Adds uv-build to development dependencies
MH0386 Oct 20, 2025
988632a
Integrates temporary file cleanup into state graph
MH0386 Oct 20, 2025
b394ab4
Adds video directory configuration and ensures its creation
MH0386 Oct 20, 2025
5b5203a
Updates graph image asset
MH0386 Oct 20, 2025
20db923
Add agno dependencies in pyproject.toml
MH0386 Oct 22, 2025
07e86fb
Refactor Chattr app to agno
MH0386 Oct 22, 2025
28ac340
Refactor App to set up agent via instance methods
MH0386 Oct 22, 2025
9b19383
Remove context usage from prompt template
MH0386 Oct 23, 2025
03db5ef
Refactor App to use instance methods and prompts
MH0386 Oct 23, 2025
918b76d
Set logging level to DEBUG
MH0386 Oct 23, 2025
2bc872e
Instantiate App directly instead of asyncio run
MH0386 Oct 23, 2025
c7ecf88
fix db dir path
MH0386 Oct 24, 2025
2714bbe
Set user role and enable streaming in arun call
MH0386 Oct 24, 2025
297838b
Update uv.lock
MH0386 Oct 24, 2025
b1fa441
Add byterover agent guidelines and tooling workflows
MH0386 Oct 26, 2025
d72c988
Run voice_generator as root and use nonroot paths
MH0386 Oct 26, 2025
fcaf38d
Add localhost to PUBLIC_HOSTNAME_WHITELIST
MH0386 Oct 26, 2025
4ca040e
Add agno/ to .gitignore
MH0386 Oct 26, 2025
b03ed86
Refactor agent setup to async with tools
MH0386 Oct 26, 2025
9c14ee8
Refactor Gradio interface and enhance response generation with video …
MH0386 Oct 29, 2025
af05fd4
Add post_start commands to voice_generator for proper permissions setup
MH0386 Oct 29, 2025
c1199a5
Add mcp dependency version 1.19.0 to project dependencies
MH0386 Oct 29, 2025
1cb1d3b
Update video_generator URL to use generate_video_mcp tool
MH0386 Oct 29, 2025
74587a4
Update response file path to save in 'agno' directory
MH0386 Oct 29, 2025
7bedf67
Enhance healthcheck command in compose-dev.yaml for improved status r…
MH0386 Oct 29, 2025
c1f17af
Add restart policy and healthcheck configuration for voice_generator …
MH0386 Oct 29, 2025
5c9d467
Update environment variables in compose.yaml to use dynamic values
MH0386 Oct 29, 2025
2ecd0cf
Update VECTOR_DATABASE__NAME in compose.yaml from 'test' to 'main'
MH0386 Oct 29, 2025
c392e3a
Update .gitignore to include additional Byterover rules files and rem…
MH0386 Oct 30, 2025
698cb51
Update .gitignore to ensure proper inclusion of Byterover rules files
MH0386 Oct 30, 2025
104b1c1
Update project configuration files to ensure proper formatting and st…
MH0386 Oct 30, 2025
f324778
Normalize line endings to LF
MH0386 Oct 30, 2025
c2f4c10
Fix .gitattributes to ensure consistent line endings with LF
MH0386 Oct 30, 2025
09df17e
Remove unused import of FilePath from pydantic in builder.py
MH0386 Oct 30, 2025
a368425
Merge branch 'main' into try-agno
MH0386 Nov 6, 2025
4f3c28f
Delete .idea directory
MH0386 Nov 6, 2025
57958d7
Merge branch 'main' into try-agno
MH0386 Nov 6, 2025
c5e288e
Reduce max line length from 145 to 140
MH0386 Nov 6, 2025
17c8a39
Delete assets/graph.png
MH0386 Nov 6, 2025
0dfc78b
Add APP_NAME variable to __init__.py for package identification
MH0386 Nov 6, 2025
ba804ee
Enhance settings documentation
MH0386 Nov 6, 2025
5b423bc
Fix directory creation to support parent directories and improve erro…
MH0386 Nov 6, 2025
1a337d7
Add docstring for MemorySettings class to clarify its purpose
MH0386 Nov 6, 2025
3fc4918
Improve error message for invalid MCP config file type
MH0386 Nov 6, 2025
a0a9ec3
Refactor DirectorySettings to use computed properties for directory p…
MH0386 Nov 6, 2025
6cb94ca
Update ModelSettings to use optional type hints for URL, name, and AP…
MH0386 Nov 6, 2025
06a4fbf
Refactor Settings class to use Field with default_factory for better …
MH0386 Nov 6, 2025
352e6ef
Enhance main script output by using rich for formatted JSON display o…
MH0386 Nov 6, 2025
459827d
Refactor ModelSettings validation messages for clarity and formatting
MH0386 Nov 6, 2025
8094916
Merge pull request #430 from AlphaSphereDotAI/settings
MH0386 Nov 6, 2025
8451fa4
Merge branch 'main' into try-agno
mergify[bot] Nov 7, 2025
a565dc7
Merge branch 'main' into try-agno
mergify[bot] Nov 8, 2025
537387e
Merge branch 'main' into try-agno
mergify[bot] Nov 11, 2025
f8265d1
Merge branch 'main' into try-agno
mergify[bot] Nov 12, 2025
d444fa7
Merge branch 'main' into try-agno
mergify[bot] Nov 13, 2025
eb2df8c
Merge branch 'main' into try-agno
mergify[bot] Nov 14, 2025
d764e36
Merge branch 'main' into try-agno
mergify[bot] Nov 15, 2025
9b14ef7
Merge branch 'main' into try-agno
mergify[bot] Nov 18, 2025
d22d29e
Merge branch 'main' into try-agno
mergify[bot] Nov 19, 2025
3d88600
Merge branch 'main' into try-agno
mergify[bot] Nov 20, 2025
4f0b5db
Merge branch 'main' into try-agno
mergify[bot] Nov 21, 2025
b6390b4
Merge branch 'main' into try-agno
mergify[bot] Nov 22, 2025
75e3f7e
Merge branch 'main' into try-agno
mergify[bot] Nov 24, 2025
871a059
Merge branch 'main' into try-agno
mergify[bot] Nov 24, 2025
6911c1b
Apply suggestions from code review
MH0386 Nov 24, 2025
3fe04bc
Apply suggestions from code review
MH0386 Nov 24, 2025
ce5e3b0
Merge branch 'main' into try-agno
mergify[bot] Nov 25, 2025
c1272a4
Enhance logger declaration with type hinting and use `APP_NAME`
MH0386 Nov 25, 2025
dad15d6
Merge c1272a4b46418cc7f87cb817d84c1c9167c06f5a into 3979e3b7c57df2e52…
MH0386 Nov 25, 2025
d38802a
[Trunk] Apply linters fixes
MH0386 Nov 25, 2025
0b2f1f3
Apply suggestion from @Copilot
MH0386 Nov 25, 2025
e311195
Remove redundant comment in logger configuration
MH0386 Nov 25, 2025
3d54984
Refactor MCPSettings to use Field for path initialization and rename …
MH0386 Nov 25, 2025
2191941
Refactor logger configuration to ensure log file creation is handled …
MH0386 Nov 25, 2025
edb3ee9
Add rich dependency to project requirements
MH0386 Nov 25, 2025
6a7455a
Remove unused FileHandler import from settings.py
MH0386 Nov 25, 2025
e8a9011
Remove State class and associated import from state.py
MH0386 Nov 25, 2025
ecbb40b
Merge branch 'main' into try-agno
mergify[bot] Nov 26, 2025
ad8648e
Refactor mcp.json to encapsulate server configurations within mcp_ser…
MH0386 Nov 26, 2025
9d96a46
Add MCPScheme model and connection variants for MCP server configuration
MH0386 Nov 26, 2025
a4c1450
Add MCPSettings validation for MCP config scheme
MH0386 Nov 26, 2025
4c73f38
Merge branch 'try-agno' of https://github.com/AlphaSphereDotAI/chattr…
MH0386 Nov 26, 2025
40671ff
Add missing 'type' fields and fix transport formatting in mcp.json
MH0386 Nov 26, 2025
feb902c
Add example names for MCP server instances in main execution block
MH0386 Nov 26, 2025
c1b57b7
Update gradio dependency to include mcp extras
MH0386 Nov 26, 2025
0631268
Update Python version requirement in pyproject.toml
MH0386 Nov 26, 2025
1811b76
Updated dependencies to include optional features for 'agno' and remo…
MH0386 Nov 26, 2025
a04d8bb
Merge branch 'main' into try-agno
mergify[bot] Nov 27, 2025
e87a310
Remove names from Checkpoint and gfpgan
MH0386 Nov 27, 2025
a3baaa4
Update Docker images and add restart policies
MH0386 Nov 27, 2025
3cc2d55
Add GRADIO_DEBUG environment variable to services
MH0386 Nov 27, 2025
773aee5
Update image tags to latest for services
MH0386 Nov 27, 2025
18f4ac4
Merge branch 'main' into try-agno
mergify[bot] Nov 28, 2025
7ae71f0
Merge branch 'main' into try-agno
mergify[bot] Nov 29, 2025
8790e01
Merge branch 'main' into try-agno
mergify[bot] Nov 29, 2025
af8d4aa
Clean up .gitignore by removing unused rules
MH0386 Nov 30, 2025
2762060
Rename compose-dev.yaml to docker-compose-dev.yaml
MH0386 Nov 30, 2025
64cc013
Fix quoting in uv tool install command in Dockerfile
MH0386 Nov 30, 2025
a1befc2
Set default values for MODEL__URL and MODEL__NAME in compose.yaml
MH0386 Nov 30, 2025
9a4120e
Update container images to use latest tags
MH0386 Nov 30, 2025
dd93772
Merge branch 'try-agno' of https://github.com/AlphaSphereDotAI/chattr…
MH0386 Nov 30, 2025
d1f7d29
Merge branch 'main' into try-agno
mergify[bot] Nov 30, 2025
7084055
Restrict permissions on /home/nonroot to 700 for security
MH0386 Dec 1, 2025
8991431
Use dockerhub image references in compose.yaml
MH0386 Dec 1, 2025
9be2226
Update image references for voice and video generators to use ghcr.io…
MH0386 Dec 1, 2025
03f71e4
Update Ruff configuration path in pyproject.toml
MH0386 Dec 1, 2025
19c65cb
Add environment variable configuration in .envrc
MH0386 Dec 1, 2025
37fcceb
Fix voice_generator URL by removing trailing slash
MH0386 Dec 1, 2025
6a12352
Refactor builder.py to enable pre-hooks and debug mode; update mcp_to…
MH0386 Dec 1, 2025
0cab0c5
Update uv.lock to specify Python version and add optional dependencie…
MH0386 Dec 2, 2025
a3bff0c
Refactor _setup_tools to optimize MCP server URL handling
MH0386 Dec 2, 2025
942d9e7
Apply suggestion from @Copilot
MH0386 Dec 3, 2025
e168859
Add CHARACTER__NAME environment variable for consistency
MH0386 Dec 4, 2025
a43ae19
Add CharacterSettings class to manage character configuration
MH0386 Dec 4, 2025
fbbab0e
Merge branch 'main' into try-agno
mergify[bot] Dec 4, 2025
668ceeb
Merge branch 'main' into try-agno
mergify[bot] Dec 6, 2025
e4722c0
Merge branch 'main' into try-agno
mergify[bot] Dec 6, 2025
77bbe06
Merge branch 'main' into try-agno
mergify[bot] Dec 9, 2025
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
12 changes: 0 additions & 12 deletions .envrc

This file was deleted.

1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
11 changes: 10 additions & 1 deletion .github/mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,19 @@ pull_request_rules:
- head = mergify/MH0386/config-update
actions:
merge:
- name: Merge pull request when Trunk Updated
conditions:
- author = github-actions[bot]
- title = Upgrade trunk
- head = trunk-io/update-trunk
- files = .trunk/trunk.yaml
actions:
merge:
- name: Comment when a pull request is merged
conditions:
- merged
actions:
delete_head_branch:
comment:
message: >
Thank you for your contribution @{{author}}! Your pull request has been merged.
Expand Down Expand Up @@ -69,6 +78,6 @@ queue_rules:
- check-success = GitGuardian Security Checks
- check-success = SonarCloud
- check-success = Trunk Check
- check-success = CodeRabbit
- check-success = Test Image / API Test
- check-success = CodeQL
# - check-success = CodeRabbit
63 changes: 45 additions & 18 deletions .github/workflows/.docker.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
type: string
required: true
description: Registry
install_source:
type: string
required: true
description: Source to install from (e.g., PyPI Package or Git source)
permissions:
contents: read
packages: write
Expand All @@ -25,20 +29,32 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Log in to the ghcr.io Registry
- name: Log in to ${{ inputs.registry }} Registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3
with:
registry: ghcr.io
registry: ${{ inputs.registry }}
username: mh0386
password: ${{ secrets.GH_TOKEN }}
password: ${{ inputs.registry == 'ghcr.io' && secrets.GH_TOKEN || inputs.registry == 'docker.io' && secrets.TOKEN_KEY_DOCKER }}
- name: Validate build configuration
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
with:
call: check
- name: Job Summary (Success)
if: ${{ success() }}
run: |
echo "# Dockerfile Check" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "No issues found :heavy_check_mark:" >> $GITHUB_STEP_SUMMARY
- name: Job Summary (Failure)
if: ${{ failure() }}
run: |
echo "# Dockerfile Check" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "Check failed :x:" >> $GITHUB_STEP_SUMMARY
build_image:
name: Build and push Docker image to ${{ inputs.registry }}
needs: check_dockerfile
if: ${{ always() && ( inputs.is_test == true || inputs.is_test == false ) }}
if: ${{ always() && !cancelled() }}
runs-on: ubuntu-latest
outputs:
image_tag: ${{ steps.tag.outputs.TAG }}
Expand All @@ -51,6 +67,11 @@ jobs:
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Get Python version from pyproject.toml
id: get_python_version
uses: mikefarah/yq@0ecdce24e83f0fa127940334be98c86b07b0c488 # v4.48.1
with:
cmd: yq -roy '.project.requires-python' pyproject.toml
- name: Log in to ${{ inputs.registry }} Registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3
with:
Expand All @@ -75,16 +96,18 @@ jobs:
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6
id: push
with:
cache-from: type=gha
cache-to: type=gha,mode=max
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
annotations: ${{ steps.meta.outputs.annotations }}
build-args: |
INSTALL_SOURCE=${{ inputs.install_source }}
PYTHON_VERSION=${{ steps.get_python_version.outputs.result }}
- name: Generate artifact attestation
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3
if: ${{ inputs.is_test == false }}
with:
subject-name: ${{ inputs.registry }}/${{ github.repository }}
subject-name: ${{ inputs.registry == 'docker.io' && 'index.docker.io' || inputs.registry }}/${{ github.repository }}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
- name: Update Docker Hub Description
Expand All @@ -102,7 +125,7 @@ jobs:
docker_scout:
name: Docker Scout (${{ matrix.commands }})
needs: build_image
if: ${{ always() && ( inputs.is_test == true || inputs.is_test == false ) }}
if: ${{ always() && !cancelled() }}
runs-on: ubuntu-latest
environment:
name: docker_image
Expand All @@ -114,12 +137,12 @@ jobs:
- cves
- recommendations
steps:
- name: Login to the Container registry
- name: Log in to ${{ inputs.registry }} Registry
uses: docker/login-action@5e57cd118135c172c3672efd75eb46360885c0ef # v3
with:
registry: ghcr.io
username: MH0386
password: ${{ secrets.GH_TOKEN }}
registry: ${{ inputs.registry }}
username: mh0386
password: ${{ inputs.registry == 'ghcr.io' && secrets.GH_TOKEN || inputs.registry == 'docker.io' && secrets.TOKEN_KEY_DOCKER }}
- name: Docker Scout
uses: docker/scout-action@f8c776824083494ab0d56b8105ba2ca85c86e4de # v1
continue-on-error: true
Expand All @@ -133,7 +156,7 @@ jobs:
name: API Test
needs: build_image
runs-on: ubuntu-latest
if: ${{ always() && inputs.is_test }}
if: ${{ always() && !cancelled() && inputs.is_test }}
environment:
name: api_test
services:
Expand All @@ -151,7 +174,6 @@ jobs:
MODEL__NAME: "llama3-70b-8192"
VECTOR_DATABASE__URL: "http://vector_database:6333"
VECTOR_DATABASE__NAME: "test"
FASTEMBED_CACHE_PATH: "/home/nonroot/fastembed"
options: >-
--health-cmd "curl -o /dev/null -f -s -w 'Status: %{http_code}, Time: %{time_total}s' http://localhost:7860/" --health-interval 10s
--health-timeout 10s --health-start-period 20s --health-retries 15
Expand All @@ -166,17 +188,22 @@ jobs:
enable-cache: true
cache-dependency-glob: "uv.lock"
activate-environment: true
- name: Install the project
run: uv sync --frozen
- name: Install deps
run: uv sync --only-dev
- name: Test
env:
CHATTR_URL: http://localhost:${{ job.services.chattr.ports['7860'] }}/
MERGIFY_TOKEN: ${{ secrets.MERGIFY_TOKEN }}
uses: pavelzw/pytest-action@510c5e90c360a185039bea56ce8b3e7e51a16507 # v2
with:
click-to-expand: false
custom-arguments: "tests/test_app.py::test_app -p no:warnings"
clean:
name: Cleaning GHCR
needs: api_test
if: ${{ always() && ( inputs.is_test == true || inputs.is_test == false ) && inputs.registry == 'ghcr.io' }}
needs:
- api_test
- docker_scout
if: ${{ always() && !cancelled() && inputs.registry == 'ghcr.io' }}
runs-on: ubuntu-latest
environment:
name: docker_image
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/.lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ jobs:
if: success() || failure()
with:
commit_message: "[Trunk] Apply linters fixes"
commit_options: '--no-verify'
check:
name: Check
runs-on: ubuntu-latest
Expand Down
26 changes: 24 additions & 2 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,23 @@ jobs:
name: Setup and Build
environment:
name: uv
url: https://github.com/${{github.repository}}/commits/${{github.ref_name}}
url: ${{github.event.repository.html_url}}/commits/${{github.ref_name}}
env:
UV_COMPILE_BYTECODE: "1"
UV_LINK_MODE: "copy"
permissions:
contents: write
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
with:
token: ${{ secrets.GH_TOKEN }}
- name: Get Package version from pyproject.toml
id: get_package_version
uses: mikefarah/yq@0ecdce24e83f0fa127940334be98c86b07b0c488 # v4.48.1
with:
cmd: yq -roy '.project.version' pyproject.toml
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6
with:
Expand All @@ -31,6 +40,7 @@ jobs:
- name: Install the project
run: uv sync --no-dev --frozen --no-editable
- name: Update Project Version
if: ${{ github.ref_name != steps.get_package_version.outputs.result }}
run: uv version ${{ github.ref_name }}
- name: Build source and wheel distribution
run: uv build
Expand All @@ -39,13 +49,25 @@ jobs:
with:
name: dist
path: dist/
- name: Update the main branch to the updated version
if: ${{ github.ref_name != steps.get_package_version.outputs.result }}
uses: stefanzweifel/git-auto-commit-action@778341af668090896ca464160c2def5d1d1a3eb0 # v6
with:
commit_message: "Version: ${{ github.ref_name }}"
branch: main
commit_options: --no-verify
- name: Update the tag to the updated version
if: ${{ github.ref_name != steps.get_package_version.outputs.result }}
run: |
git tag --force ${{ github.ref_name }}
git push origin --force HEAD:refs/tags/${{ github.ref_name }}
github_release:
name: Create GitHub Release
needs: setup_and_build
runs-on: ubuntu-latest
environment:
name: github
url: https://github.com/${{github.repository}}/releases/tag/${{github.ref_name}}
url: ${{github.event.repository.html_url}}/releases/tag/${{github.ref_name}}
steps:
- name: Checkout Code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
Expand Down
32 changes: 29 additions & 3 deletions .github/workflows/ci_tools.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: CI Tools
on:
issue_comment:
types:
- created
- edited
schedule:
- cron: 0 6 * * *
push:
Expand All @@ -9,9 +13,6 @@ on:
- .trunk/trunk.yaml
workflow_dispatch:
permissions: read-all
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
trunk_upgrade:
name: Upgrade Trunk
Expand Down Expand Up @@ -39,3 +40,28 @@ jobs:
uses: trunk-io/trunk-action@75699af9e26881e564e9d832ef7dc3af25ec031b # v1
with:
check-mode: populate_cache_only
opencode:
if: |
github.event_name == 'issue_comment' &&
(
contains(github.event.comment.body, ' /oc') ||
startsWith(github.event.comment.body, '/oc') ||
contains(github.event.comment.body, ' /opencode') ||
startsWith(github.event.comment.body, '/opencode')
)
name: Opencode
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
pull-requests: read
issues: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Run opencode
uses: sst/opencode/github@latest
env:
OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }}
with:
model: opencode/grok-code
37 changes: 2 additions & 35 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,43 +28,9 @@ jobs:
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages-dir: dist/
huggingface:
name: Upload ${{github.event.repository.name}} to HuggingFace Space
runs-on: ubuntu-latest
env:
HF_HUB_ENABLE_HF_TRANSFER: "1"
UV_FROZEN: "1"
UV_LINK_MODE: "copy"
environment:
name: huggingface
url: https://huggingface.co/spaces/${{github.repository}}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5
- name: Install uv
uses: astral-sh/setup-uv@d0cc045d04ccac9d8b7881df0226f9e82c39688e # v6
with:
enable-cache: true
cache-dependency-glob: "uv.lock"
activate-environment: true
- name: Install cli
run: uv tool install huggingface-hub[cli,hf-transfer]
- name: Remove Unnecessary Files
run: |
echo "*" > .gitignore
echo "!.gitignore" >> .gitignore
echo "!README.md" >> .gitignore
echo "!Dockerfile" >> .gitignore
- name: Add to git credentials
run: git config --global credential.helper store
- name: Login to HuggingFace Hub
run: huggingface-cli login --add-to-git-credential --token ${{ secrets.HF_TOKEN }}
- name: Check if logged in
run: huggingface-cli whoami
- name: Upload
run: huggingface-cli upload ${{ github.repository }} . . --repo-type space
image:
name: Release Image
needs: pypi
permissions:
contents: read
packages: write
Expand All @@ -79,4 +45,5 @@ jobs:
with:
is_test: false
registry: ${{ matrix.registry }}
install_source: ${{ github.event.repository.name }}==${{ github.event.release.tag_name }}
secrets: inherit
12 changes: 12 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,17 @@ jobs:
activate-environment: true
- name: Install the project
run: uv sync --frozen --no-install-project
- name: Job Summary
run: |
echo '<details>' >> $GITHUB_STEP_SUMMARY
echo '<summary> Click me </summary>' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "# Dependency Tree" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "$(uv tree --show-sizes)" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo '</details>' >> $GITHUB_STEP_SUMMARY
lint:
name: Lint
permissions:
Expand All @@ -50,4 +61,5 @@ jobs:
with:
is_test: true
registry: ghcr.io
install_source: git+${{ github.event.repository.html_url }}@${{ github.sha }}
secrets: inherit
2 changes: 1 addition & 1 deletion .github/workflows/version.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
version:
name: Versioning
runs-on: ubuntu-latest
if: github.actor == 'mergify[bot]'
if: github.actor == 'renovate[bot]'
permissions:
contents: write
environment:
Expand Down
Loading