brick-build's job container (opensuse/leap:16.0) has no Node.js, and every step in check/renovate (checkout, setup-ruby, setup-node) is a JS-based Action that needs it just to start — both runs since the brick-build switch failed immediately, and deploy never ran because it depends on check passing. ubuntu-latest is shared with "Gitea Runner on Cube" (not pinned to this specific machine), but that's fine: only deploy (a unique label held by just brick's native runner) actually needs to land on a specific box.