Without this commit, two jobsets using the same repository as input,
but different deepClone options, end up incorrectly sharing the same
"checkout" for a given (uri, branch, revision) tuple. The
presence or absence of .git is determined by the jobset execution
order.
This patch adds the missing isDeepClone boolean to the cache key.
The database upgrade script empties the CachedGitInputs table, as we
don't know if existing checkouts are deep clones. Unfortunately, this
generally forces rebuilds even for correct deepClone checkouts, as
the binary contents of .git are not deterministic.
Fixes #510
QPTEVLEO6L6VII42UNKTIOGXVK27BOWNMEVO7ZPRTYV6AVZTATXQC IGR322YPZG7IX33I6CSF4ZIHFKXCT4ERC2LC73MW6PN7W53D73BAC JAH3UPWAVSHXIPNGL6PROQPZBYZHPJNFONWBDZX4HCX646USZXUQC SB2V735VJ2CDHGCXRUA5FOYHDRXQFVOZ3KXC3YKXWRNW6DIX7RXQC JM3DPYOMVNMCL5GMEYC3Y4NDRGTNIFBBFTPGPVT66GPENVPU7EVQC JJT5QG3KOCWGMOTBN7BJFCUKDCLMB4O6K2PP32KL7WKXKABSZXFAC BK24VA6QHPE6XLXUXPLJMOT75WEXHZ6PPOFLYFUP4U4NYS5FVGWAC O25D52TAMOPAK45N4II5XMWOBMPQJNHLW22M37COVY43EKNQBWJAC N22GPKYTOLZLBGTGDATQDVZ4R5APZEAOIA7L32X4UXBH4XNI7MWAC D5QIOJGPKQJIYBUCSC3MFJ3TXLPNZ2XMI37GXMFRVRFWWR2VMTFAC # Created by DBIx::Class::Schema::Loader v0.07049 @ 2020-02-06 12:22:36# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:0sdK9uQZpx869oqS5thRLw
# Created by DBIx::Class::Schema::Loader v0.07049 @ 2021-06-19 17:26:24# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:Wr0grsFTaqRlMeM9vpXjrw
-- We don't know if existing checkouts are deep clones. This will-- force a new fetch (and most likely trigger a new build for deep-- clones, as the binary contents of '.git' are not deterministic).DELETE FROM CachedGitInputs;ALTER TABLE CachedGitInputsADD COLUMN isDeepClone BOOLEAN NOT NULL;ALTER TABLE CachedGitInputs DROP CONSTRAINT cachedgitinputs_pkey;ALTER TABLE CachedGitInputs ADD CONSTRAINT cachedgitinputs_pkeyPRIMARY KEY (uri, branch, revision, isDeepClone);