BuildTriggerAction.run is unused, so it would better be deleted.
Anyway it was marked as nontransient, which is very bad (the whole reason RunAction2 exists is to allow you to make such fields transient).
And it was not even set in onAttached.