Changed MLflow authentication to use HTTP Basic Auth by embedding
credentials in the tracking URI (https://user:pass@host).
This is the standard authentication method for MLflow when using
basic auth, rather than relying on environment variables alone.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added explicit environment variable configuration for MLflow credentials.
The credentials are now properly passed through from CI/CD environment
to the MLflow client.
Changes:
- Check for MLFLOW_TRACKING_USERNAME and MLFLOW_TRACKING_PASSWORD env vars
- Explicitly set them in os.environ for MLflow to use
- Added connection success message for debugging
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed cache configuration:
- Moved Install Poetry step before cache setup
- Updated cache path to ~/.cache/pypoetry/virtualenvs (actual venv location)
- Removed **/poetry.lock wildcard in favor of direct poetry.lock reference
- This ensures the virtualenv itself is cached, not just metadata
This should significantly speed up CI/CD runs by reusing installed packages.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Changed dvc pull to specifically pull data/raw.dvc instead of all
outputs. The processed data and model files are generated by the
DVC pipeline (dvc repro), not pulled from remote storage.
This prevents errors about missing processed files that haven't
been generated yet.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
DVC needs credentials to be configured via 'dvc remote modify' command
rather than just environment variables. This fixes 403 Forbidden errors
when accessing MinIO/S3 storage.
Changes:
- Added dvc remote modify commands to set access_key_id and secret_access_key
- Applied to both pull and push operations in test and train jobs
- Added .dvc/config.local to .gitignore to prevent credential leaks
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Configure DVC to use AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY
from Gitea secrets (DVC_ID and DVC_PASSWORD) for MinIO/S3 access.
Changes:
- Added DVC credentials to all DVC operations (pull/push)
- Changed poetry install to use --no-root flag for faster installs
- Credentials applied to both test and train jobs
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added actions/cache@v3 to cache Poetry and pip dependencies across
workflow runs. This significantly speeds up CI/CD by avoiding
full reinstallation when poetry.lock hasn't changed.
Cache strategy:
- Cache key based on OS and poetry.lock hash
- Caches ~/.cache/pypoetry and ~/.cache/pip
- Falls back to OS-specific cache if exact match not found
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Added dvc-s3>=3.2.0 to dependencies to enable DVC to work with
S3-compatible storage backends like MinIO.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Regenerate lock file to include pyyaml>=6.0.0 added to dependencies.
This resolves the poetry.lock sync issue with pyproject.toml.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>