Downloaded artifacts are less recent than source files
Summary
Modification times of downloaded artifacts equal to times when the artifacts where created, not when they were downloaded.
Steps to reproduce
A project's CI configuration consists of more than one stage. The repository contains an input file. As a result of the first state an output file is produced, say as a compilation result. The output file is configured as the first stage's artifact.
The default clone strategy is used.
The runner version is 11.7.0. Running on Windows 2012 Server, using Shell executor.
What is the current bug behavior?
- The first stage starts at time
T
. The cloned input file has modification timeT
. - The compilation takes some time, so the created output file has modification time
T+1
. - The second stage starts at time
T+2
. The cloned input file now has modification timeT+2
. - Artifacts downloading takes some time and ends at
T+3
. But the downloaded output file still has modification timeT+1
, which is less recent then the modification time of the input file at the current stage.
As the result many build tools decide that it is necessary to recompile the output file, because the artifacts seem less recent than the source files.
What is the expected correct behavior?
The modification time of downloaded artifacts should equal to the moment the artifacts are downloaded. Because downloading artifacts occurs after cloning the repository, the artifacts modification times will be more recent than the source files' modification times.
It does not have to be the default behavior, it can be configurable.
Results of GitLab environment info
Expand for output related to GitLab environment info
System information System: Debian 8.11 Current User: git Using RVM: no Ruby Version: 2.5.3p105 Gem Version: 2.7.6 Bundler Version:1.16.6 Rake Version: 12.3.2 Redis Version: 3.2.12 Git Version: 2.18.1 Sidekiq Version:5.2.5 Go Version: unknown
GitLab information Version: 11.9.8 Revision: 48528bc Directory: /opt/gitlab/embedded/service/gitlab-rails DB Adapter: postgresql URL: http://war-sgiv-git.ingrnet.com HTTP Clone URL: http://war-sgiv-git.ingrnet.com/some-group/some-project.git SSH Clone URL: git@war-sgiv-git.ingrnet.com:some-group/some-project.git Using LDAP: yes Using Omniauth: yes Omniauth Providers:
GitLab Shell Version: 8.7.1 Repository storage paths:
- default: /var/opt/gitlab/git-data/repositories GitLab Shell path: /opt/gitlab/embedded/service/gitlab-shell Git: /opt/gitlab/embedded/bin/git
Results of GitLab application Check
Expand for output related to the GitLab application check
Checking GitLab subtasks ...
Checking GitLab Shell ...
GitLab Shell: ... GitLab Shell version >= 8.7.1 ? ... OK (8.7.1) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Check GitLab API access: OK Redis available via internal API: OK
Access to /var/opt/gitlab/.ssh/authorized_keys: OK gitlab-shell self-check successful
Checking GitLab Shell ... Finished
Checking Gitaly ...
Gitaly: ... default ... OK
Checking Gitaly ... Finished
Checking Sidekiq ...
Sidekiq: ... Running? ... yes Number of Sidekiq processes ... 1
Checking Sidekiq ... Finished
Checking Incoming Email ...
Incoming Email: ... Reply by email is disabled in config/gitlab.yml
Checking Incoming Email ... Finished
Checking LDAP ...
LDAP: ... Server: ldapmain not verifying SSL hostname of LDAPS server 'pl-war-dc10:636' LDAP authentication... Success LDAP users with access to your GitLab server (only showing the first 100 results) DN: cn=gltgks1-hdwin10,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: GLTGKS1-HDWIN10$ DN: cn=gttest64-2k8r2,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: GTTEST64-2K8R2 $ DN: cn=kmbwintab2014,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: KMBWinTab2014$ DN: cn=spot2434_c2,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: SPOT2434_C2$ DN: cn=vmjdcgmdev,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: VMJDCGMDev$ DN: cn=winrunner8,ou=software licensing,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: WinRunner 8 DN: cn=lajolla,ou=computers,ou=norcross,ou=remote offices,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-66c4d DN: cn=wins users,ou=groups,ou=india,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-83a DN: cn=gci19ha2rev,ou=autoregister,ou=sm3d_pool-i,ou=s3dbuilds,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-8abb4 DN: cn=leocimr\0acnf:cdda6fc5-74f6-48e2-bbc3-9bc534b7f052,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-aa83e DN: cn=lod-mtwojna\0acnf:2e6a9efd-005b-4311-85a3-06a85f8fdd65,ou=lod,ou=computers,ou=north-eastern,ou=europe,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-bcb23 DN: cn=swi-xmdunford\0acnf:435caf9d-c807-49c2-9d9d-7aabd508ac04,ou=swi,ou=computers,ou=western,ou=europe,dc=ingrnet,dc=com sAMAccountName: $DUPLICATE-bd232 DN: cn=exchange install domain servers,cn=microsoft exchange system objects,dc=ingrnet,dc=com sAMAccountName: $QA1300-QMUC262L19U4 DN: cn=0sists1,ou=internal,ou=servers,ou=brazil,ou=americas,dc=ingrnet,dc=com sAMAccountName: 0SISTS1$ DN: cn=1-1845448571,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1-1845448571$ DN: cn=1031sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1031SG DN: cn=1041sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1041SG DN: cn=105ppm1,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 105PPM1$ DN: cn=105ppm4,ou=development,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 105ppm4$ DN: cn=108labt1500,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 108labT1500$ DN: cn=10pswv1-hdwin10,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 10PSWV1-HDWIN10$ DN: cn=10pswv1-hdwinx,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 10PSWV1-HDWINX$ DN: cn=11204server,ou=xcmauto,ou=spfsptxen,ou=spsupport,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 11204SERVER$ DN: cn=11gjancpu2020,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 11GJANCPU2020$ DN: cn=121jancpu2020,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 121JANCPU2020$ DN: cn=122jancpu2020,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 122JANCPU2020$ DN: cn=127fbr-app,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 127FBR-APP$ DN: cn=127fbr-db,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 127FBR-DB$ DN: cn=128fbr81,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 128FBR81$ DN: cn=128int,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 128INT$ DN: cn=128intora,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 128intora$ DN: cn=128nibrs-app,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 128NIBRS-APP$ DN: cn=128nibrs-db,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 128NIBRS-DB$ DN: cn=14jxmm1-hdhome,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 14JXMM1-HDHOME$ DN: cn=18602017991,ou=xcmauto,ou=spfsptxen,ou=spsupport,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 18602017991$ DN: cn=18cjancpu2020,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 18CJANCPU2020$ DN: cn=1903isl,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1903ISL$ DN: cn=19btjs1-hdwinx,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 19BTJS1-HDWINX$ DN: cn=19cjancpu2020,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 19CJANCPU2020$ DN: cn=19cw19jancpu20,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 19CW19JANCPU20$ DN: cn=19qsjs1-hdwinx,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 19QSJS1-HDWINX$ DN: cn=1b4pjs1-hdwin10,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1B4PJS1-HDWIN10$ DN: cn=1b4pjs1-hdwinx,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1B4PJS1-HDWINX$ DN: cn=1b5pjs1-hdwin10,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1B5PJS1-HDWIN10$ DN: cn=1b9pjs1-hdhome,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1B9PJS1-HDHOME$ DN: cn=1b9pjs1-hdwinx,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1B9PJS1-HDWINX$ DN: cn=1bcqjs1-hdhome,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 1BCQJS1-HDHOME$ DN: cn=2008r2,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2008r2$ DN: cn=2012r2,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2012r2$ DN: cn=2016server,ou=standard,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2016server$ DN: cn=2016sqlwfandr,ou=sgicloud,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2016SQLWFandR$ DN: cn=2018integsrv,ou=sp3d_cert,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2018INTEGSRV$ DN: cn=2019i18njserver,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2019I18NJSERVER$ DN: cn=2019i18nrserver,ou=computers,ou=azure,ou=sptech,ou=labs,ou=computers,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2019I18NRSERVER$ DN: cn=2104sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2104SG DN: cn=2105sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2105SG DN: cn=2106sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2106SG DN: cn=2107sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2107SG DN: cn=2111sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2111SG DN: cn=2115sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2115SG DN: cn=2116sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2116SG DN: cn=2117sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2117SG DN: cn=2121sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2121SG DN: cn=2122sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2122SG DN: cn=2125sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2125SG DN: cn=2127sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2127SG DN: cn=2128sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2128SG DN: cn=2129sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2129SG DN: cn=2130sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2130SG DN: cn=2132sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2132SG DN: cn=2133sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2133SG DN: cn=2134sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2134SG DN: cn=2139sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2139SG DN: cn=2142sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2142SG DN: cn=2145sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2145SG DN: cn=2151sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2151SG DN: cn=2162sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2162SG DN: cn=2163sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2163SG DN: cn=2164sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2164SG DN: cn=2167sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2167SG DN: cn=2168sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2168SG DN: cn=2169sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2169SG DN: cn=2175sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2175SG DN: cn=2176sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2176SG DN: cn=2177sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2177SG DN: cn=2178sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2178SG DN: cn=2179sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2179SG DN: cn=2180sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2180SG DN: cn=2182sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2182SG DN: cn=2183sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2183SG DN: cn=2184sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2184SG DN: cn=2185sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2185SG DN: cn=2188sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2188SG DN: cn=2189sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2189SG DN: cn=2196sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2196SG DN: cn=2201sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2201SG DN: cn=2202sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2202SG DN: cn=2203sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2203SG DN: cn=2204sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2204SG DN: cn=2205sg,ou=departments,ou=corp,ou=us,ou=americas,dc=ingrnet,dc=com sAMAccountName: 2205SG
Checking LDAP ... Finished
Checking GitLab App ...
Git configured correctly? ... yes Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... yes Log directory writable? ... yes Tmp directory writable? ... yes Uploads directory exists? ... yes Uploads directory has correct permissions? ... yes Uploads directory tmp has correct permissions? ... no Try fixing it: sudo chown -R git /var/opt/gitlab/gitlab-rails/uploads sudo find /var/opt/gitlab/gitlab-rails/uploads -type f -exec chmod 0644 {} ; sudo find /var/opt/gitlab/gitlab-rails/uploads -type d -not -path /var/opt/gitlab/gitlab-rails/uploads -exec chmod 0700 {} ; For more information see: doc/install/installation.md in section "GitLab" Please fix the error above and rerun the checks. Init script exists? ... skipped (omnibus-gitlab has no init script) Init script up-to-date? ... skipped (omnibus-gitlab has no init script) Projects have namespace: ... 3/1 ... yes 2/2 ... yes 2/3 ... yes 4/4 ... yes 7/5 ... yes 6/7 ... yes 2/8 ... yes 10/9 ... yes 10/10 ... yes 13/11 ... yes 13/12 ... yes 15/13 ... yes 4/14 ... yes 18/15 ... yes 19/17 ... yes 15/18 ... yes 23/19 ... yes 2/20 ... yes 24/21 ... yes 2/22 ... yes 24/23 ... yes 24/24 ... yes 24/26 ... yes 24/29 ... yes 2/30 ... yes 40/33 ... yes 40/34 ... yes 40/35 ... yes 42/36 ... yes 42/37 ... yes 4/38 ... yes 40/39 ... yes 40/40 ... yes 40/41 ... yes 40/42 ... yes 42/43 ... yes 40/44 ... yes 46/45 ... yes 46/46 ... yes 24/47 ... yes 40/49 ... yes 13/50 ... yes 49/52 ... yes 40/53 ... yes 13/54 ... yes 45/55 ... yes 45/56 ... yes 24/57 ... yes 2/58 ... yes 51/60 ... yes 53/61 ... yes 40/62 ... yes 24/63 ... yes 63/64 ... yes 63/66 ... yes 63/67 ... yes 63/68 ... yes 50/70 ... yes 50/71 ... yes 64/73 ... yes 65/76 ... yes 65/80 ... yes 65/81 ... yes 65/82 ... yes 65/83 ... yes 24/84 ... yes 87/93 ... yes 74/95 ... yes 74/101 ... yes 81/102 ... yes 63/103 ... yes 63/104 ... yes 84/105 ... yes 87/107 ... yes 87/108 ... yes 87/109 ... yes 4/110 ... yes 81/111 ... yes 81/112 ... yes 74/113 ... yes 76/114 ... yes 74/115 ... yes 63/116 ... yes Redis version >= 2.8.0? ... yes Ruby version >= 2.3.5 ? ... yes (2.5.3) Git version >= 2.18.0 ? ... yes (2.18.1) Git user has default SSH configuration? ... yes Active users: ... 66
Checking GitLab App ... Finished
Checking GitLab subtasks ... Finished