<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/13634">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">jobs: use "cmd: |", not "# keep first line ..."<br><br>Adjust README.adoc to mention "cmd: |" instead of the workaround and<br>replace this:<br>  cmd: ><br>   # keep first line with less indent to preserve newlines<br>    docker run ...<br><br>With that:<br>  cmd: |<br>    docker run ...<br><br>Change-Id: I65a06acb76e5d693aa187f9ac38970b73e7fead6<br>---<br>M jobs/README.adoc<br>M jobs/gerrit-verifications.yml<br>M jobs/master-builds.yml<br>3 files changed, 23 insertions(+), 41 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-ci refs/changes/34/13634/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/jobs/README.adoc b/jobs/README.adoc</span><br><span>index 1d4d405..bea1d9f 100644</span><br><span>--- a/jobs/README.adoc</span><br><span>+++ b/jobs/README.adoc</span><br><span>@@ -58,17 +58,14 @@</span><br><span> </span><br><span> - newlines:</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-The build commands may be multiline, but especially in the</span><br><span style="color: hsl(0, 100%, 40%);">-gerrit-verifications.yml, where the commands are first stored in 'cmd' and</span><br><span style="color: hsl(0, 100%, 40%);">-later inserted in a 'shell' section, the newlines between individual shell</span><br><span style="color: hsl(0, 100%, 40%);">-lines don't all survive. Interestingly enough, only a line that has more</span><br><span style="color: hsl(0, 100%, 40%);">-indenting than the first line also receives an actual newline in the resulting</span><br><span style="color: hsl(0, 100%, 40%);">-jenkins Execute Shell section; take a look at the job's config page on jenkins.</span><br><span style="color: hsl(0, 100%, 40%);">-Hence we often have a '# keep first line with less indent' comment. Note that</span><br><span style="color: hsl(0, 100%, 40%);">-issuing backslashes to span a shell command across several lines will break the</span><br><span style="color: hsl(0, 100%, 40%);">-command if the newlines are not preserved, so we need a '# keep...' comment</span><br><span style="color: hsl(0, 100%, 40%);">-where there are more than one shell command, and where there are backslashes</span><br><span style="color: hsl(0, 100%, 40%);">-'\' to join multiple lines.</span><br><span style="color: hsl(120, 100%, 40%);">+Use 'key: |' to keep new lines in multiline values, e.g.:</span><br><span style="color: hsl(120, 100%, 40%);">+  - shell: |</span><br><span style="color: hsl(120, 100%, 40%);">+      echo hello</span><br><span style="color: hsl(120, 100%, 40%);">+      echo world</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+See also:</span><br><span style="color: hsl(120, 100%, 40%);">+* https://yaml-multiline.info/</span><br><span style="color: hsl(120, 100%, 40%);">+* https://stackoverflow.com/a/21699210</span><br><span> </span><br><span> - jobs named on cmdline are not updated:</span><br><span> </span><br><span>diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml</span><br><span>index 6128dc5..b2cc1dd 100644</span><br><span>--- a/jobs/gerrit-verifications.yml</span><br><span>+++ b/jobs/gerrit-verifications.yml</span><br><span>@@ -30,8 +30,7 @@</span><br><span> </span><br><span>       - cellmgr-ng:</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -66,8 +65,7 @@</span><br><span>           a3_name: IU</span><br><span>           a3: !!python/tuple [--disable-iu]</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"</span><br><span>             mkdir -p "$ARTIFACT_STORE"</span><br><span>             docker run --rm=true \</span><br><span>@@ -95,8 +93,7 @@</span><br><span> </span><br><span>       - osmo-bsc:</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -147,8 +144,7 @@</span><br><span> </span><br><span>       - osmo-mgw:</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -169,8 +165,7 @@</span><br><span>           combination_filter: ></span><br><span>             (IU == "--enable-iu" && WITH_MANUALS == "0") ||</span><br><span>             (IU == "--disable-iu" && WITH_MANUALS == "1")</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"</span><br><span>             mkdir -p "$ARTIFACT_STORE"</span><br><span>             docker run --rm=true -i \</span><br><span>@@ -221,8 +216,7 @@</span><br><span>           combination_filter: ></span><br><span>             (IU == "--enable-iu" && WITH_MANUALS == "0") ||</span><br><span>             (IU == "--disable-iu" && WITH_MANUALS == "1")</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -265,8 +259,7 @@</span><br><span>       - osmo-ttcn3-hacks:</span><br><span>           repos_url: 'https://gerrit.osmocom.org/{repos}'</span><br><span>           slave_axis: !!python/tuple [ttcn3]</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             set -e</span><br><span>             make deps; make clean; make compile</span><br><span> </span><br><span>diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml</span><br><span>index 3bac7b6..373e975 100644</span><br><span>--- a/jobs/master-builds.yml</span><br><span>+++ b/jobs/master-builds.yml</span><br><span>@@ -50,8 +50,7 @@</span><br><span>             master-libosmo-netif, master-osmo-bts</span><br><span> </span><br><span>       - libosmo-dsp:</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             autoreconf --install --force</span><br><span>             ./configure</span><br><span>             $MAKE $PARALLEL_MAKE</span><br><span>@@ -144,8 +143,7 @@</span><br><span>           a3_name: IU</span><br><span>           a3: !!python/tuple [--disable-iu]</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"</span><br><span>             mkdir -p "$ARTIFACT_STORE"</span><br><span>             docker run --rm=true \</span><br><span>@@ -170,8 +168,7 @@</span><br><span> </span><br><span>       - osmo-bsc:</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -220,8 +217,7 @@</span><br><span> </span><br><span>       - osmo-gsm-manuals:</span><br><span>           node: 'osmocom-master-debian9'</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ./contrib/jenkins.sh</span><br><span> </span><br><span>       - osmo-gsm-tester:</span><br><span>@@ -241,8 +237,7 @@</span><br><span> </span><br><span>       - osmo-mgw:</span><br><span>           concurrent: true</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -266,8 +261,7 @@</span><br><span>           combination_filter: ></span><br><span>             (IU == "--enable-iu" && WITH_MANUALS == "0") ||</span><br><span>             (IU == "--disable-iu" && WITH_MANUALS == "1")</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"</span><br><span>             mkdir -p "$ARTIFACT_STORE"</span><br><span>             docker run --rm=true -i \</span><br><span>@@ -321,8 +315,7 @@</span><br><span>           combination_filter: ></span><br><span>             (IU == "--enable-iu" && WITH_MANUALS == "0") ||</span><br><span>             (IU == "--disable-iu" && WITH_MANUALS == "1")</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             docker run --rm=true \</span><br><span>               -e HOME=/build \</span><br><span>               -e MAKE=make \</span><br><span>@@ -363,8 +356,7 @@</span><br><span>       - osmo-remsim</span><br><span>       - osmo-asf4-dfu</span><br><span>       - simtrace2:</span><br><span style="color: hsl(0, 100%, 40%);">-          cmd: ></span><br><span style="color: hsl(0, 100%, 40%);">-           # keep first line with less indent to preserve newlines</span><br><span style="color: hsl(120, 100%, 40%);">+          cmd: |</span><br><span>             ./contrib/jenkins.sh --publish</span><br><span>           email: gerrit-log@lists.osmocom.org laforge@gnumonks.org kredon@sysmocom.de</span><br><span> </span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/13634">change 13634</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/13634"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-ci </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I65a06acb76e5d693aa187f9ac38970b73e7fead6 </div>
<div style="display:none"> Gerrit-Change-Number: 13634 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>