current mistakes :
Unsubscribe handling
the comment detection is only performed in the "publish" stage, not in run-analysis.
So it requires trying to publish to actually updates the config.
=> Is it a main drawback ?
As we want to run analysis in any case it is ok to not consider this in the run-analysis stage.
reproduce usage
uv run sw-metadata-bot run-analysis --config-file assets/config_unsubscribe.json
# create the analysis
uv run sw-metadata-bot publish --analysis-root outputs/unsubscribe/20260520/
# publish the issue
then add "unsubscribe" comment
# rerun analysis
uv run sw-metadata-bot run-analysis --config-file assets/config_unsubscribe.json
# try publish the issue with new output
uv run sw-metadata-bot publish --analysis-root outputs/unsubscribe/20260520_2/
expected output
outputs/unsubscribe/20260520_2/config.json should have added the repo url in the issues.opt-outs list.
assets/config_unsubscribe.json should have added the repo url in the issues.opt-outs list.
Validate
when reading the config file
- it should return errors if necessary fields are not valid
- it should add warning about fields not handled correctly but not used (skipped)
Explicit config
the explicit config is giving the default parameters used if these parameters have not been defined by the configuration file and were not required (ex: "custom_message")
current mistakes :
Unsubscribe handling
the comment detection is only performed in the "publish" stage, not in run-analysis.
So it requires trying to publish to actually updates the config.
=> Is it a main drawback ?
As we want to run analysis in any case it is ok to not consider this in the run-analysis stage.
reproduce usage
then add "unsubscribe" comment
expected output
outputs/unsubscribe/20260520_2/config.jsonshould have added the repo url in theissues.opt-outslist.assets/config_unsubscribe.jsonshould have added the repo url in theissues.opt-outslist.Validate
when reading the config file
Explicit config
the explicit config is giving the default parameters used if these parameters have not been defined by the configuration file and were not required (ex: "custom_message")