On 2023-01-18 We 16:14, Tom Lane wrote: > Andrew Dunstan <and...@dunslane.net> writes: >> On 2023-01-18 We 14:32, Tom Lane wrote: >>> I suppose that the reason for not running under $from_source is to >>> avoid corrupting the saved installations with unofficial versions. >>> However, couldn't we skip the "save" step and still run the upgrade >>> tests against whatever we have saved? (Maybe skip the same-version >>> test, as it's not quite reflecting any real case then.) >> Something like this should do it: >> my $source_tree = $from_source || "$self->{buildroot}/$this_branch/pgsql"; > Ah, I didn't understand that $from_source is a path not just a bool. > > What do you think about the above questions? Is this $from_source > exclusion for the reason I guessed, or some other one? > >
Yes, the reason is that, unlike almost everything else in the buildfarm, cross version upgrade testing requires saved state (binaries and data directory), and we don't want from-source builds corrupting that state. I think we can do what you want but it's a bit harder than what you've done. If we're not going to save the current run's product then we need to run the upgrade test from a different directory (probably directly in "$buildroot/$this_branch/inst"). Otherwise we'll be testing upgrade to the saved product of a previous run of this branch. I'll take a stab at it tomorrow if you like. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com