Why is testing all three so crazy slow? (Granted I took only one sample of each, but even if that's way out at the end of the long tail, it's nuts).
Why is even testing just pg14 almost twice as slow?
Paying the extra minute cost at CI time doesn't hurt because it runs in parallel to the even slower test-extensions, but adding 20 minutes to release packaging is no fun.
Likely sources of slowness:
our current approach benefits from having the old toolkit versions
AND ready-to-go databases in the github actions cache
new approach downloads binary packages from packagecloud every time
new approach uses apt-get and dpkg which are much more complex than
pgx simply copying files into place
And possible fixes:
use cargo pgx start/stop so we can benefit from the cached databases
as well as reduce complexity. I blame lack of sleep for pulling out
my old local postgres tricks instead of just using that
apt-get install --download-only the old toolkit versions into the
container image
dpkg-deb -x each package (bypassing apt, dpkg database maintenance,
and pre-/post- installation scripts)
Three update tester runs:
testbin
)testbin
(pg14 only)testbin
(12, 13, 14)Why is testing all three so crazy slow? (Granted I took only one sample of each, but even if that's way out at the end of the long tail, it's nuts).
Why is even testing just pg14 almost twice as slow?
Paying the extra minute cost at CI time doesn't hurt because it runs in parallel to the even slower test-extensions, but adding 20 minutes to release packaging is no fun.
Likely sources of slowness:
our current approach benefits from having the old toolkit versions AND ready-to-go databases in the github actions cache
new approach downloads binary packages from packagecloud every time
new approach uses apt-get and dpkg which are much more complex than pgx simply copying files into place
And possible fixes:
use cargo pgx start/stop so we can benefit from the cached databases as well as reduce complexity. I blame lack of sleep for pulling out my old local postgres tricks instead of just using that
apt-get install --download-only the old toolkit versions into the container image
dpkg-deb -x each package (bypassing apt, dpkg database maintenance, and pre-/post- installation scripts)