diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..457f44d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.analysis.typeCheckingMode": "basic" +} \ No newline at end of file diff --git a/master.cfg b/master.cfg index bdc414e..614eadc 100644 --- a/master.cfg +++ b/master.cfg @@ -31,13 +31,13 @@ c["workers"] = [ worker.Worker("worker-rust-1-65", "pass", properties={"rust_version": "1.65"}), worker.Worker("worker-rust-1-71", "pass", properties={"rust_version": "1.71"}), ] -rust_workers = ["worker-rust-1-65"] +rust_workers_1_65 = ["worker-rust-1-65"] if "BUILDBOT_MQ_URL" in os.environ: c["mq"] = { "type": "wamp", "router_url": os.environ["BUILDBOT_MQ_URL"], - "realm": os.environ.get("BUILDBOT_MQ_REALM", "buildbot").decode("utf-8"), + "realm": os.environ.get("BUILDBOT_MQ_REALM", "buildbot"), "debug": "BUILDBOT_MQ_DEBUG" in os.environ, "debug_websockets": "BUILDBOT_MQ_DEBUG" in os.environ, "debug_lowlevel": "BUILDBOT_MQ_DEBUG" in os.environ, @@ -100,83 +100,97 @@ def basic_factory(): return factory -def append_factory(factory, name: str, workenames: list[str]): +def append_factory(factory, name: str, workernames: list[str]): c["builders"].append( - util.BuilderConfig(name=name, workernames=workenames, factory=factory) + util.BuilderConfig(name=name, workernames=workernames, factory=factory) ) builderNames.append(name) -factory = basic_factory() -factory.addStep( - steps.ShellCommand( - command=["cargo", "test"], - env=env, +def cargo_test(name: str, workernames: list[str]): + factory = basic_factory() + factory.addStep( + steps.ShellCommand( + command=["cargo", "test"], + env=env, + ) ) -) -append_factory(factory, "cargo test", rust_workers) + append_factory(factory, name, workernames) -factory = basic_factory() -factory.addStep( - steps.ShellCommand( - command=[ - "cargo", - "clippy", - "--workspace", - "--examples", - "--tests", - "--", - "--deny=warnings", - ], - env=env, - ) -) -append_factory(factory, "cargo clippy", rust_workers) -factory = basic_factory() -factory.addStep( - steps.ShellCommand( - command=[ - "cargo", - "doc", - "--workspace", - ], - env=env, +def cargo_clippy(name: str, workernames: list[str]): + factory = basic_factory() + factory.addStep( + steps.ShellCommand( + command=[ + "cargo", + "clippy", + "--workspace", + "--examples", + "--tests", + "--", + "--deny=warnings", + ], + env=env, + ) ) -) -factory.addStep( - steps.DirectoryUpload( - workersrc=DOC_DIR, - masterdest=util.Interpolate( - "/buildbot_share/docs/radn-rs/%(prop:rust_version)s/" - ), - url=util.Interpolate( - "https://radn.parrrate.ru/latest/docs/%(prop:rust_version)s/radn_rs/" - ), - ) -) -factory.addStep( - steps.DirectoryUpload( - workersrc=DOC_DIR, - masterdest="/buildbot_share/docs/radn-rs/", - url="https://radn.parrrate.ru/latest/docs/radn_rs/", - ) -) -append_factory(factory, "cargo doc", rust_workers) + append_factory(factory, name, workernames) -factory = basic_factory() -factory.addStep( - steps.ShellCommand( - command=[ - "cargo", - "fmt", - "--check", - "--all", - ], - env=env, + +def cargo_fmt(name: str, workernames: list[str]): + factory = basic_factory() + factory.addStep( + steps.ShellCommand( + command=[ + "cargo", + "fmt", + "--check", + "--all", + ], + env=env, + ) ) -) -append_factory(factory, "cargo fmt", rust_workers) + append_factory(factory, name, workernames) + + +def cargo_doc(name: str, workernames: list[str], latest: bool): + factory = basic_factory() + factory.addStep( + steps.ShellCommand( + command=[ + "cargo", + "doc", + "--workspace", + ], + env=env, + ) + ) + factory.addStep( + steps.DirectoryUpload( + workersrc=DOC_DIR, + masterdest=util.Interpolate( + "/buildbot_share/docs/radn-rs/%(prop:rust_version)s/" + ), + url=util.Interpolate( + "https://radn.parrrate.ru/latest/docs/%(prop:rust_version)s/radn_rs/" + ), + ) + ) + if latest: + factory.addStep( + steps.DirectoryUpload( + workersrc=DOC_DIR, + masterdest="/buildbot_share/docs/radn-rs/", + url="https://radn.parrrate.ru/latest/docs/radn_rs/", + ) + ) + append_factory(factory, name, workernames) + + +cargo_test("cargo test (1.65)", rust_workers_1_65) +cargo_clippy("cargo clippy (1.65)", rust_workers_1_65) +cargo_fmt("cargo fmt (1.65)", rust_workers_1_65) +cargo_doc("cargo fmt (1.65)", rust_workers_1_65, True) ####### SCHEDULERS