From 9527aee524dd05612df97097b3d34de1116d69cb Mon Sep 17 00:00:00 2001 From: Marcello Stanisci Date: Sat, 4 Nov 2017 10:31:01 +0100 Subject: pylint worker --- buildbot/master.cfg | 44 ++++++++++++++++++++++++++++++++++++++++++-- doc/onboarding.texi | 2 +- 2 files changed, 43 insertions(+), 3 deletions(-) diff --git a/buildbot/master.cfg b/buildbot/master.cfg index 42a4155..112c879 100644 --- a/buildbot/master.cfg +++ b/buildbot/master.cfg @@ -23,6 +23,7 @@ c["workers"] = [worker.Worker("lcov-worker", "lcov-pass"), worker.Worker("doc-worker", "doc-pass"), worker.Worker("switcher-worker", "switcher-pass"), worker.Worker("debug-worker", "debug-pass"), + worker.Worker("lint-worker", "lint-pass"), worker.Worker("wallet-worker", "wallet-pass")] # 'protocols' contains information about protocols which master will use for @@ -78,6 +79,13 @@ debug_scheduler = schedulers.SingleBranchScheduler( treeStableTimer=None, builderNames=["debug-builder"]) +# Consider adding other Python parts, like the various frontends. +lint_scheduler = schedulers.SingleBranchScheduler( + name="lint-scheduler", + change_filter=util.ChangeFilter(branch="master", project_re="bank"), + treeStableTimer=None, + builderNames=["lint-builder"]) + # Provide "force" button in the web UI force_scheduler = schedulers.ForceScheduler( name="force-scheduler", @@ -88,7 +96,12 @@ force_scheduler = schedulers.ForceScheduler( "doc-builder", "wallet-builder"]) -c["schedulers"] = [doc_scheduler, wallet_scheduler, all_scheduler, force_scheduler, debug_scheduler] +c["schedulers"] = [doc_scheduler, + wallet_scheduler, + all_scheduler, + force_scheduler, + debug_scheduler, + lint_scheduler] ####### BUILDERS @@ -130,6 +143,22 @@ debug_factory.addStep(ShellCommand(name="echo debug", descriptionDone="builder responded", command=["echo", "I'm here!"])) +lint_factory = util.BuildFactory() +lint_factory.addStep(Git(repourl='git://git.taler.net/bank.git', + mode="full", + method="fresh", + logEnviron=False, + alwaysUseLatest=True, + haltOnFailure=True, + branch="master")) +lint_factory.addStep(ShellCommand(name="code linter", + description="running static analysis", + descriptionDone="static analysis done", + command=["pylint", + "--load_plugins", + "pylint_django", + "talerbank/"])) + lcov_factory = util.BuildFactory() lcov_factory.addStep(Git(repourl='git://git.taler.net/deployment.git', @@ -218,6 +247,11 @@ debug_builder = util.BuilderConfig( workernames=["debug-worker"], factory=debug_factory) +lint_builder = util.BuilderConfig( + name="lint-builder", + workernames=["lint-worker"], + factory=lint_factory) + lcov_builder = util.BuilderConfig( name="lcov-builder", workernames=["lcov-worker"], @@ -243,7 +277,13 @@ wallet_builder = util.BuilderConfig( workernames=["wallet-worker"], factory=wallet_factory) -c["builders"] = [lcov_builder, switcher_builder, selenium_builder, doc_builder, wallet_builder, debug_builder] +c["builders"] = [lcov_builder, + switcher_builder, + selenium_builder, + doc_builder, + wallet_builder, + debug_builder, + lint_builder] ####### BUILDBOT SERVICES diff --git a/doc/onboarding.texi b/doc/onboarding.texi index 4c31304..de520ad 100644 --- a/doc/onboarding.texi +++ b/doc/onboarding.texi @@ -146,7 +146,7 @@ is not needed by any production codebase. @subsection Python linter This worker is responsible for running Python static analysis, and it -is served by the user @code{pylinter}. +is served by the user @code{linter}. @subsection Documentation worker -- cgit v1.2.3