- Add UV_PYTHON_PREFERENCE=only-system to prevent uv from downloading its own Python
- Use python:3.13-alpine3.21 (stable) instead of 3.14 (RC)
Fixes: exec /app/.venv/bin/netbox-mcp-server: no such file or directory
netbox_branching requires DynamicSchemaDict for DATABASES which cannot
be configured at build time. Static assets will be collected at container
startup instead.
Updates the build-images workflow to improve reliability and reduce dependency on external tools like `jq`.
- Replaced `jq` with `python3` for generating the JSON matrix, removing the need to install a separate binary and allowing for more standard standard library usage.
- Switched from a shell glob loop (`for DIR in images/*`) to `find` for more robust directory discovery when detecting manual triggers.
- Added explanatory comments regarding fallback behavior for push events.
- Added debug logging for the generated JSON output.
Refactor the image detection strategy in the build-images workflow.
- Remove the `image` input parameter from `workflow_dispatch`.
- Update detection logic to handle events differently:
- On manual triggers (`workflow_dispatch`), the script now scans the `images/` directory and builds ALL valid images found.
- On push events, the script retains the `git diff` logic to only build images that have explicitly changed.
The variable name `matrix` in the `detect-changes` job output was ambiguous and potentially confusing, as `matrix` is a reserved keyword in Gitea/GitHub Actions syntax for defining job strategies.
This change renames the output variable to `image_list` to better reflect its content (a JSON array of image names) and avoid naming conflicts or confusion with the actual `strategy.matrix` configuration.
Changes:
- Renamed output `matrix` to `image_list` in `detect-changes` job.
- Updated all shell script references in the change detection logic.
- Updated the consumer job `build-push-images` to use `needs.detect-changes.outputs.image_list`.
Refactor the 'Detect changed images' step in the build-images workflow to improve robustness and debuggability.
Changes include:
- Pass `inputs.image` via an environment variable (`INPUT_IMAGE`) to avoid potential injection issues or syntax errors in shell scripts.
- Add comprehensive `DEBUG` echo statements to trace the logic flow for both manual and automatic detection paths.
- Use `printf` instead of `echo` for writing to `$GITHUB_OUTPUT` to ensure safer handling of string outputs.
- Remove redundant comments to clean up the script block.
Updated the image detection step in the `.gitea/workflows/build-images.yml` workflow to better handle manual inputs and automatic change detection.
Changes:
- Reorganized the logic to handle manual inputs first; if a manual input is present, it validates the image, sets the output matrix immediately, and exits, bypassing git diff checks.
- Added explicit error handling and output setting for invalid or empty manual inputs to prevent workflow failure confusion.
- Grouped the Git diff detection logic into a distinct block that runs only if no manual input is provided.
- Added a debug echo statement to the build job to verify the current matrix image being built.