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