[yocto-autobuilder-helper] run-docs-build: fix checkout of releases.rst from master

Message ID 20220125164546.846218-1-michael.opdenacker@bootlin.com
State New
Headers show
Series [yocto-autobuilder-helper] run-docs-build: fix checkout of releases.rst from master | expand

Commit Message

Michael Opdenacker Jan. 25, 2022, 4:45 p.m. UTC
A wrong path was given given the working directory.

Also revert the changes with "git reset --hard" to
have a clean state before further branch switches.

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
---
 scripts/run-docs-build | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Quentin Schulz Jan. 26, 2022, 8:11 a.m. UTC | #1
Hi Michael,

On January 25, 2022 5:45:46 PM GMT+01:00, Michael Opdenacker <michael.opdenacker@bootlin.com> wrote:
>A wrong path was given given the working directory.
>
>Also revert the changes with "git reset --hard" to
>have a clean state before further branch switches.
>

One change at a time please ☺️

>Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
>---
> scripts/run-docs-build | 9 ++++++---
> 1 file changed, 6 insertions(+), 3 deletions(-)
>
>diff --git a/scripts/run-docs-build b/scripts/run-docs-build
>index 5d6d24a..c93b3e6 100755
>--- a/scripts/run-docs-build
>+++ b/scripts/run-docs-build
>@@ -43,11 +43,12 @@ cp -r ./_build/final/* $outputdir/bitbake/next
> # see the latest releases.
> for branch in 1.46 1.48 1.50 1.52; do
>     git checkout $branch
>-    git checkout master doc/releases.rst
>+    git checkout master releases.rst
>     make clean
>     make publish
>     mkdir $outputdir/bitbake/$branch
>     cp -r ./_build/final/* $outputdir/bitbake/$branch
>+    git reset --hard

This should be done right after the git checkout. It's better to ensure what you build is clean that try to ensure the next oneto build has a clean env. Especially since checkouts can dirty the git repo I think (I've had this issue multiple times when switching between kernel branches far enough from one another).

Also git reset --hard is not enough. I use git clean -ffdx instead usually. Didn't have a problem with this one for a while now.

> done
> 
> # only sync bitbake folder for now. We need bitbake to be published first
>@@ -79,11 +80,12 @@ cp -r ./_build/final/* $outputdir/next
> for branch in dunfell gatesgarth hardknott honister; do
>     cd $ypdocs
>     git checkout $branch
>-    git checkout master documentation/releases.rst
>+    git checkout master releases.rst
>     make clean
>     make publish
>     mkdir $outputdir/$branch
>     cp -r ./_build/final/* $outputdir/$branch
>+    git reset --hard

Ditto.

> done
> 
> # Yocto Project releases/tags
>@@ -101,12 +103,13 @@ for tag in $(git tag --list 'yocto-*'); do
>         if [ "$tag" = "yocto-3.3" ] || [ "$tag" = "yocto-3.4" ]; then
>             git am "${scriptdir}/${tag}/0001-conf-update-for-release.patch"
>         fi
>-        git checkout master documentation/releases.rst
>+        git checkout master releases.rst
>         make clean
>         make publish
>         version=$(echo $tag | cut -c7-)
>         mkdir $outputdir/$version
>         cp -r ./_build/final/* $outputdir/$version
>+        git reset --hard

Ditto.

Cheers,
Quentin

>     fi
> done
>

Patch

diff --git a/scripts/run-docs-build b/scripts/run-docs-build
index 5d6d24a..c93b3e6 100755
--- a/scripts/run-docs-build
+++ b/scripts/run-docs-build
@@ -43,11 +43,12 @@  cp -r ./_build/final/* $outputdir/bitbake/next
 # see the latest releases.
 for branch in 1.46 1.48 1.50 1.52; do
     git checkout $branch
-    git checkout master doc/releases.rst
+    git checkout master releases.rst
     make clean
     make publish
     mkdir $outputdir/bitbake/$branch
     cp -r ./_build/final/* $outputdir/bitbake/$branch
+    git reset --hard
 done
 
 # only sync bitbake folder for now. We need bitbake to be published first
@@ -79,11 +80,12 @@  cp -r ./_build/final/* $outputdir/next
 for branch in dunfell gatesgarth hardknott honister; do
     cd $ypdocs
     git checkout $branch
-    git checkout master documentation/releases.rst
+    git checkout master releases.rst
     make clean
     make publish
     mkdir $outputdir/$branch
     cp -r ./_build/final/* $outputdir/$branch
+    git reset --hard
 done
 
 # Yocto Project releases/tags
@@ -101,12 +103,13 @@  for tag in $(git tag --list 'yocto-*'); do
         if [ "$tag" = "yocto-3.3" ] || [ "$tag" = "yocto-3.4" ]; then
             git am "${scriptdir}/${tag}/0001-conf-update-for-release.patch"
         fi
-        git checkout master documentation/releases.rst
+        git checkout master releases.rst
         make clean
         make publish
         version=$(echo $tag | cut -c7-)
         mkdir $outputdir/$version
         cp -r ./_build/final/* $outputdir/$version
+        git reset --hard
     fi
 done