Hi,

On Tue, 26 Sept 2023 at 13:48, Peter Eisentraut <pe...@eisentraut.org> wrote:
>
> On 25.09.23 12:56, Nazir Bilal Yavuz wrote:
> > +  # Only run if a specific OS is not requested and if there are changes in 
> > docs
> > +  # or in the CI files.
> > +  skip: >
> > +    $CIRRUS_CHANGE_MESSAGE =~ '.*\nci-os-only:.*' ||
> > +    !changesInclude('doc/**',
> > +                    '.cirrus.yml',
> > +                    '.cirrus.tasks.yml',
> > +                    'src/backend/catalog/sql_feature_packages.txt',
> > +                    'src/backend/catalog/sql_features.txt',
> > +                    'src/backend/utils/errcodes.txt',
> > +                    'src/backend/utils/activity/wait_event_names.txt',
> > +                    
> > 'src/backend/utils/activity/generate-wait_event_types.pl',
> > +                    'src/include/parser/kwlist.h')
>
> This is kind of annoying.  Now we need to maintain yet another list of
> these dependencies and keep it in sync with the build systems.

I agree.

>
> I think meson can produce a dependency tree from a build.  Maybe we
> could use that somehow and have Cirrus cache it between runs?

I will check that.

>
> Also note that there are also dependencies in the other direction.  For
> example, the psql help is compiled from XML DocBook sources.  So your
> other patch would also need to include similar changesInclude() clauses.
>

If there are more cases like this, it may not be worth it. Instead, we can just:

- Build the docs when the doc related files are changed (This still
creates a dependency like you said).

- Skip CI completely if the README files are changed.

What are your opinions on these?

Regards,
Nazir Bilal Yavuz
Microsoft


Reply via email to