[PATCH 04/12] docs: ensure HTML/images are built before running reference tests

Daniel P. Berrangé posted 12 patches 1 year, 9 months ago
[PATCH 04/12] docs: ensure HTML/images are built before running reference tests
Posted by Daniel P. Berrangé 1 year, 9 months ago
The 'check-html-references' test will process the built HTML files,
so they must exist before it is run, along with any images that
they point to.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 docs/images/meson.build | 5 +++--
 docs/logos/meson.build  | 5 +++--
 docs/meson.build        | 1 +
 3 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/docs/images/meson.build b/docs/images/meson.build
index b9ab30fc91..cccd351f05 100644
--- a/docs/images/meson.build
+++ b/docs/images/meson.build
@@ -18,10 +18,11 @@ foreach file : docs_image_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
   if meson.version().version_compare('>=0.64.0')
-    fs.copyfile(file)
+    imgfile = fs.copyfile(file)
   else
-    configure_file(input: file, output: file, copy: true)
+    imgfile = configure_file(input: file, output: file, copy: true)
   endif
 
+  install_web_deps += [imgfile]
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'images')
 endforeach
diff --git a/docs/logos/meson.build b/docs/logos/meson.build
index c3f4c9f522..b4ea070a34 100644
--- a/docs/logos/meson.build
+++ b/docs/logos/meson.build
@@ -26,11 +26,12 @@ foreach file : docs_logo_files
   # This hack enables us to view the web pages
   # from within the uninstalled build tree
   if meson.version().version_compare('>=0.64.0')
-    fs.copyfile(file)
+    logofile = fs.copyfile(file)
   else
-    configure_file(input: file, output: file, copy: true)
+    logofile = configure_file(input: file, output: file, copy: true)
   endif
 
+  install_web_deps += [logofile]
   install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'logos')
 endforeach
 
diff --git a/docs/meson.build b/docs/meson.build
index 87d728213c..2dfe98ef62 100644
--- a/docs/meson.build
+++ b/docs/meson.build
@@ -360,6 +360,7 @@ if tests_enabled[0]
       '--webroot',
       meson.project_build_root() / 'docs'
     ],
+    depends: install_web_deps,
     env: runutf8,
     suite: 'script'
   )
-- 
2.43.0
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 04/12] docs: ensure HTML/images are built before running reference tests
Posted by Daniel P. Berrangé 1 year, 9 months ago
On Tue, May 07, 2024 at 02:58:59PM +0100, Daniel P. Berrangé wrote:
> The 'check-html-references' test will process the built HTML files,
> so they must exist before it is run, along with any images that
> they point to.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> ---
>  docs/images/meson.build | 5 +++--
>  docs/logos/meson.build  | 5 +++--
>  docs/meson.build        | 1 +
>  3 files changed, 7 insertions(+), 4 deletions(-)

This seems to have a bit of a backcompat problems. Smoe versions
of meson are complaining

docs/meson.build:345:0: ERROR: run_target keyword argument 'depends' was of type array[CustomTarget | File] but should have been array[BuildTarget | CustomTarget]


> 
> diff --git a/docs/images/meson.build b/docs/images/meson.build
> index b9ab30fc91..cccd351f05 100644
> --- a/docs/images/meson.build
> +++ b/docs/images/meson.build
> @@ -18,10 +18,11 @@ foreach file : docs_image_files
>    # This hack enables us to view the web pages
>    # from within the uninstalled build tree
>    if meson.version().version_compare('>=0.64.0')
> -    fs.copyfile(file)
> +    imgfile = fs.copyfile(file)
>    else
> -    configure_file(input: file, output: file, copy: true)
> +    imgfile = configure_file(input: file, output: file, copy: true)

I think this 'else' clause is the problem - doesn't like
using the result of 'configiure_file' as a dependency

>    endif
>  
> +  install_web_deps += [imgfile]
>    install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'images')
>  endforeach
> diff --git a/docs/logos/meson.build b/docs/logos/meson.build
> index c3f4c9f522..b4ea070a34 100644
> --- a/docs/logos/meson.build
> +++ b/docs/logos/meson.build
> @@ -26,11 +26,12 @@ foreach file : docs_logo_files
>    # This hack enables us to view the web pages
>    # from within the uninstalled build tree
>    if meson.version().version_compare('>=0.64.0')
> -    fs.copyfile(file)
> +    logofile = fs.copyfile(file)
>    else
> -    configure_file(input: file, output: file, copy: true)
> +    logofile = configure_file(input: file, output: file, copy: true)
>    endif
>  
> +  install_web_deps += [logofile]
>    install_web_files += '@0@:@1@'.format(meson.current_source_dir() / file, docs_html_dir / 'logos')
>  endforeach
>  
> diff --git a/docs/meson.build b/docs/meson.build
> index 87d728213c..2dfe98ef62 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -360,6 +360,7 @@ if tests_enabled[0]
>        '--webroot',
>        meson.project_build_root() / 'docs'
>      ],
> +    depends: install_web_deps,
>      env: runutf8,
>      suite: 'script'
>    )
> -- 
> 2.43.0
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 04/12] docs: ensure HTML/images are built before running reference tests
Posted by Michal Prívozník 1 year, 9 months ago
On 5/7/24 16:23, Daniel P. Berrangé wrote:
> On Tue, May 07, 2024 at 02:58:59PM +0100, Daniel P. Berrangé wrote:
>> The 'check-html-references' test will process the built HTML files,
>> so they must exist before it is run, along with any images that
>> they point to.
>>
>> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
>> ---
>>  docs/images/meson.build | 5 +++--
>>  docs/logos/meson.build  | 5 +++--
>>  docs/meson.build        | 1 +
>>  3 files changed, 7 insertions(+), 4 deletions(-)
> 
> This seems to have a bit of a backcompat problems. Smoe versions
> of meson are complaining
> 
> docs/meson.build:345:0: ERROR: run_target keyword argument 'depends' was of type array[CustomTarget | File] but should have been array[BuildTarget | CustomTarget]

I believe that after we drop old build targets from our CI then meson
can be bumped to something newer.

Michal
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org
Re: [PATCH 04/12] docs: ensure HTML/images are built before running reference tests
Posted by Daniel P. Berrangé 1 year, 9 months ago
On Tue, May 07, 2024 at 04:30:55PM +0200, Michal Prívozník wrote:
> On 5/7/24 16:23, Daniel P. Berrangé wrote:
> > On Tue, May 07, 2024 at 02:58:59PM +0100, Daniel P. Berrangé wrote:
> >> The 'check-html-references' test will process the built HTML files,
> >> so they must exist before it is run, along with any images that
> >> they point to.
> >>
> >> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
> >> ---
> >>  docs/images/meson.build | 5 +++--
> >>  docs/logos/meson.build  | 5 +++--
> >>  docs/meson.build        | 1 +
> >>  3 files changed, 7 insertions(+), 4 deletions(-)
> > 
> > This seems to have a bit of a backcompat problems. Smoe versions
> > of meson are complaining
> > 
> > docs/meson.build:345:0: ERROR: run_target keyword argument 'depends' was of type array[CustomTarget | File] but should have been array[BuildTarget | CustomTarget]
> 
> I believe that after we drop old build targets from our CI then meson
> can be bumped to something newer.

Unfortunately we can't bump it far enough. I hit failures on
opensuse leap 15 (meson 0.61), ubuntu 22.04 (meson 0.61) and
centos stream 9 (meson 0.63). There's probably some other
way I can express this to be compatible.


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|
_______________________________________________
Devel mailing list -- devel@lists.libvirt.org
To unsubscribe send an email to devel-leave@lists.libvirt.org