You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Rule Promotion and the sa-update Backend

'sa-update' updates are created on the zone, nightly, by a cron job. Here are some details as to how this works.

At 0830 UTC, the build/mkupdates/run_nightly script is run from svn trunk. This runs the script build/mkupdates/listpromotable, which queries the rule-QA web app for the previous day's rule accuracy figures, and determines which rules from the rules source dirs (rulesrc/core and rulesrc/sandbox/*) are to be promoted to the active ruleset, as described in RuleLifeCycle.

Promotion Criteria

You can see the previous day's accuracy figures
[http://buildbot.spamassassin.org/ruleqa/?daterev=last-night at this URL]. Promotable rules show up in dark text on the RuleQaApp, non-promoted-by-default rules show up in light grey text.

The promotion criteria are detailed on some other wiki page, RulesProjPromotion perhaps? (TODO).

Anyway, using those figures, and some other criteria:

  • "tflags nopublish" rules are never published
  • rules with a T_ prefix to their names are never published
  • "tflags publish", "net", "userconf" or "learn" rules are always published
  • rules that fail lint – if that can be attributed to the rule! – are not published
  • rules that require a plugin that build/mkupdates/listpromotable thinks is not part of the default plugin set, are not published

A proposed update checkin is created with a new list of 'active' rules, in the file 'rules/active.list'

  • No labels