;ci: push: restore timestamps to fix unnecessary recompilation
https://www.reddit.com/r/haskell/comments/g00ldn/haskell_stack_on_github_actions
This commit is contained in:
		
							parent
							
								
									ebd420e8ab
								
							
						
					
					
						commit
						6057070cfd
					
				
							
								
								
									
										15
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								.github/workflows/push.yml
									
									
									
									
										vendored
									
									
								
							| @ -26,6 +26,21 @@ jobs: | |||||||
| 
 | 
 | ||||||
|     - name: Check out |     - name: Check out | ||||||
|       uses: actions/checkout@v2 |       uses: actions/checkout@v2 | ||||||
|  |       # Fetch all history, rather than a shallow clone, so that we | ||||||
|  |       # can restore timestamps (see below). | ||||||
|  |       with: | ||||||
|  |         fetch-depth: 0 | ||||||
|  | 
 | ||||||
|  |     # Restore timestamps to help stack not rebuild unchanged files. | ||||||
|  |     # https://stackoverflow.com/questions/60906336 | ||||||
|  |     # https://stackoverflow.com/a/36243002/84401 | ||||||
|  |     # https://www.reddit.com/r/haskell/comments/g00ldn/haskell_stack_on_github_actions/ | ||||||
|  |     - name: Restore source file timestamps | ||||||
|  |       run: | | ||||||
|  |         git ls-tree -r --name-only HEAD | while read filename; do | ||||||
|  |           TS="$(git log -1 --format="%ct" -- ${filename})" | ||||||
|  |           touch "${filename}" -mt "$(date --date="@$TS" "+%Y%m%d%H%M.%S")" | ||||||
|  |         done | ||||||
| 
 | 
 | ||||||
|     # cached things |     # cached things | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user