]> Humopery - private/buildbot-default.git/commitdiff
waterslager, write service files to target
authorErik Mackdanz <erikmack@gmail.com>
Sat, 19 Jul 2025 06:39:43 +0000 (06:39 +0000)
committerErik Mackdanz <erikmack@gmail.com>
Sat, 19 Jul 2025 06:39:43 +0000 (06:39 +0000)
master.cfg

index fde2a5679a87b30d34e3d07ce4966e8c5e24c174..3d3217fe788e4d3f8cf3d8cd66f2e6de464588b3 100644 (file)
@@ -516,20 +516,77 @@ c['builders'].append(BuilderConfig(
                          haltOnFailure=True,logname="step"),
                 ShellArg(command=["rm","-f","waterslager.tar.gz"],
                          haltOnFailure=True,logname="step"),
-                ShellArg(command=["tar","czf",util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),"waterslager"],
+                ShellArg(command=["tar","czf",
+                                  util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),
+                                  "waterslager"],
                          haltOnFailure=True,logname="step"),
             ],
             haltOnFailure=True,
         ),
         ShellSequence(
-            name="copy waterslager to sra0",
+            name="copy application tarball to target",
             commands=[
-                ShellArg(command=["scp",util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),"sra0:~"],
+                ShellArg(command=[
+                    "scp",
+                    util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),
+                    "sra0:~"],
                          haltOnFailure=True,logname="step"),
                 ShellArg(command=["ssh","sra0","rm","-f","waterslager-latest.tar.gz"],
                          haltOnFailure=True,logname="step"),
-                ShellArg(command=["ssh","sra0","ln","-s",util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),"waterslager-latest.tar.gz"],
+                ShellArg(command=["ssh","sra0","ln","-s",
+                                  util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz"),
+                                  "waterslager-latest.tar.gz"],
                          haltOnFailure=True,logname="step"),
+                ShellArg(command=["ssh","sra0","chmod","g+r",
+                                  util.Interpolate("waterslager-%(prop:shortrev)s.tar.gz")],
+                         haltOnFailure=True,logname="step"),
+            ],
+            haltOnFailure=True,
+        ),
+        ShellSequence(
+            name="generate support files on target",
+            commands=[
+                ShellArg(command=[
+                    "ssh","sra0","sh","-c",
+
+                    # note no commas to concatenate a single string
+                    "cat >waterslager-prep.service <<EOF\n"
+                    "[Unit]\n"
+                    "Description=Unpack the latest waterslager release\n"
+                    "Requires=network-online.target\n"
+                    "\n"
+                    "[Service]\n"
+                    "User=waterslager\n"
+                    "Type=oneshot\n"
+                    "WorkingDirectory=/var/waterslager\n"
+                    "ExecStart=/usr/bin/rm -rf waterslager/*\n"
+                    "ExecStart=/usr/bin/tar xf /var/buildbot/waterslager-latest.tar.gz\n"
+                    "\n"
+                    "[Install]\n"
+                    "WantedBy=multi-user.target\n"
+                    "EOF\n"
+                ],
+                         haltOnFailure=True,logname="write waterslager-prep.service"),
+                ShellArg(command=[
+                    "ssh","sra0","sh","-c",
+
+                    # note no commas to concatenate a single string
+                    "cat >waterslager.service <<EOF\n"
+                    "[Unit]\n"
+                    "Description=Runwaterslager\n"
+                    "Requires=network-online.target\n"
+                    "\n"
+                    "[Service]\n"
+                    "User=waterslager\n"
+                    "Type=simple\n"
+                    "WorkingDirectory=/var/waterslager/waterslager\n"
+                    "ExecStart=/var/waterslager/waterslager/waterslager\n"
+                    "\n"
+                    "[Install]\n"
+                    "WantedBy=multi-user.target\n"
+                    "EOF\n"
+                ],
+                         haltOnFailure=True,logname="write waterslager.service"),
             ],
             haltOnFailure=True,
         )