Thread: Re: Release 17 of the PostgreSQL Buildfarm Client
Andrew Dunstan <andrew@dunslane.net> writes: > I have pushed Release 17 of the PostgreSQL Buildfarm client. I ran a test of this using run_branches.pl --run-all --nosend --force and noticed that it created "animal.force-one-run" files in each of the per-branch directories, and never removed them. This means (I assume) that the next run will also behave like --force ... and maybe all later ones too, until I manually remove those files? I'm not sure if this behavior is new in v17, or I just never tried it before. I usually create force-one-run files manually. regards, tom lane
I wrote: > I ran a test of this using > run_branches.pl --run-all --nosend --force > and noticed that it created "animal.force-one-run" files in each > of the per-branch directories, and never removed them. Further testing shows that a pre-existing force-one-run file does get removed, so use-cases involving manual creation of the file are still OK. Maybe this "force twice" from --force has been there all along, and nobody noticed? Even if it's a new bug, it's not a show-stopper. regards, tom lane
I wrote:I ran a test of this using run_branches.pl --run-all --nosend --force and noticed that it created "animal.force-one-run" files in each of the per-branch directories, and never removed them.Further testing shows that a pre-existing force-one-run file does get removed, so use-cases involving manual creation of the file are still OK. Maybe this "force twice" from --force has been there all along, and nobody noticed? Even if it's a new bug, it's not a show-stopper.
This isn't a product of the --force flag. It's done so that --nosend and --nostatus don't defeat the up-to-date checks in run_branches.pl by writing a githead.log with a gitref we haven't reported on. We could possibly do that another way, e.g. by removing or renaming the githead.log file in such cases, since the checks in run_branches.pl rely on that name. (thinks) In fact that's probably better, because instead of forcing a run it would just make the code do a slow up-to-date check (by doing a git pull) next time around. Will fix.
If you had used --test instead of --nosend this wouldn't have happened.
In any case, the next regular run (i.e. one without --nosend or --nostatus) will remove the files.
cheers
andrew
-- Andrew Dunstan EDB: https://www.enterprisedb.com
On 2023-08-04 Fr 21:25, Tom Lane wrote:I wrote:I ran a test of this using run_branches.pl --run-all --nosend --force and noticed that it created "animal.force-one-run" files in each of the per-branch directories, and never removed them.Further testing shows that a pre-existing force-one-run file does get removed, so use-cases involving manual creation of the file are still OK. Maybe this "force twice" from --force has been there all along, and nobody noticed? Even if it's a new bug, it's not a show-stopper.
This isn't a product of the --force flag. It's done so that --nosend and --nostatus don't defeat the up-to-date checks in run_branches.pl by writing a githead.log with a gitref we haven't reported on. We could possibly do that another way, e.g. by removing or renaming the githead.log file in such cases, since the checks in run_branches.pl rely on that name. (thinks) In fact that's probably better, because instead of forcing a run it would just make the code do a slow up-to-date check (by doing a git pull) next time around. Will fix.
If you had used --test instead of --nosend this wouldn't have happened.
In any case, the next regular run (i.e. one without --nosend or --nostatus) will remove the files.
See <https://github.com/PGBuildFarm/client-code/commit/ec4cf43613a74cb88f228efcde09931cf9fd57e7>
cheers
andrew
-- Andrew Dunstan EDB: https://www.enterprisedb.com