mirror of
				https://github.com/actions/cache.git
				synced 2025-11-01 02:44:18 +08:00 
			
		
		
		
	Merge pull request #250 from actions/test-relative-path
Fix caching directories outside of the working directory (relative paths)
This commit is contained in:
		
						commit
						78809b91d7
					
				
							
								
								
									
										28
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/workflow.yml
									
									
									
									
										vendored
									
									
								
							| @ -51,23 +51,30 @@ jobs: | |||||||
|     strategy: |     strategy: | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macOS-latest] |         os: [ubuntu-latest, windows-latest, macOS-latest] | ||||||
|  |       fail-fast: false | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
|     steps: |     steps: | ||||||
|     - name: Checkout |     - name: Checkout | ||||||
|       uses: actions/checkout@v2 |       uses: actions/checkout@v2 | ||||||
|     - name: Generate files |     - name: Generate files in working directory | ||||||
|       shell: bash |       shell: bash | ||||||
|       run: __tests__/create-cache-files.sh ${{ runner.os }} |       run: __tests__/create-cache-files.sh ${{ runner.os }} test-cache | ||||||
|  |     - name: Generate files outside working directory | ||||||
|  |       shell: bash | ||||||
|  |       run: __tests__/create-cache-files.sh ${{ runner.os }} ~/test-cache | ||||||
|     - name: Save cache |     - name: Save cache | ||||||
|       uses: ./ |       uses: ./ | ||||||
|       with: |       with: | ||||||
|         key: test-${{ runner.os }}-${{ github.run_id }} |         key: test-${{ runner.os }}-${{ github.run_id }} | ||||||
|         path: test-cache |         path: | | ||||||
|  |           test-cache | ||||||
|  |           ~/test-cache | ||||||
|   test-restore: |   test-restore: | ||||||
|     needs: test-save |     needs: test-save | ||||||
|     strategy: |     strategy: | ||||||
|       matrix: |       matrix: | ||||||
|         os: [ubuntu-latest, windows-latest, macOS-latest] |         os: [ubuntu-latest, windows-latest, macOS-latest] | ||||||
|  |       fail-fast: false | ||||||
|     runs-on: ${{ matrix.os }} |     runs-on: ${{ matrix.os }} | ||||||
|     steps: |     steps: | ||||||
|     - name: Checkout |     - name: Checkout | ||||||
| @ -76,10 +83,15 @@ jobs: | |||||||
|       uses: ./ |       uses: ./ | ||||||
|       with: |       with: | ||||||
|         key: test-${{ runner.os }}-${{ github.run_id }} |         key: test-${{ runner.os }}-${{ github.run_id }} | ||||||
|         path: test-cache |         path: | | ||||||
|     - name: Verify cache |           test-cache | ||||||
|  |           ~/test-cache | ||||||
|  |     - name: Verify cache files in working directory | ||||||
|       shell: bash |       shell: bash | ||||||
|       run: __tests__/verify-cache-files.sh ${{ runner.os }} |       run: __tests__/verify-cache-files.sh ${{ runner.os }} test-cache | ||||||
|  |     - name: Verify cache files outside working directory | ||||||
|  |       shell: bash | ||||||
|  |       run: __tests__/verify-cache-files.sh ${{ runner.os }} ~/test-cache | ||||||
| 
 | 
 | ||||||
|   # End to end with proxy |   # End to end with proxy | ||||||
|   test-proxy-save: |   test-proxy-save: | ||||||
| @ -98,7 +110,7 @@ jobs: | |||||||
|     - name: Checkout |     - name: Checkout | ||||||
|       uses: actions/checkout@v2 |       uses: actions/checkout@v2 | ||||||
|     - name: Generate files |     - name: Generate files | ||||||
|       run: __tests__/create-cache-files.sh proxy |       run: __tests__/create-cache-files.sh proxy test-cache | ||||||
|     - name: Save cache |     - name: Save cache | ||||||
|       uses: ./ |       uses: ./ | ||||||
|       with: |       with: | ||||||
| @ -126,4 +138,4 @@ jobs: | |||||||
|         key: test-proxy-${{ github.run_id }} |         key: test-proxy-${{ github.run_id }} | ||||||
|         path: test-cache |         path: test-cache | ||||||
|     - name: Verify cache |     - name: Verify cache | ||||||
|       run: __tests__/verify-cache-files.sh proxy |       run: __tests__/verify-cache-files.sh proxy test-cache | ||||||
|  | |||||||
| @ -7,5 +7,11 @@ if [ -z "$prefix" ]; then | |||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| mkdir test-cache | path="$2" | ||||||
| echo "$prefix $GITHUB_RUN_ID" > test-cache/test-file.txt | if [ -z "$path" ]; then | ||||||
|  |   echo "Must supply path argument" | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | mkdir -p $path | ||||||
|  | echo "$prefix $GITHUB_RUN_ID" > $path/test-file.txt | ||||||
|  | |||||||
| @ -73,6 +73,7 @@ test("create tar", async () => { | |||||||
|             "-cz", |             "-cz", | ||||||
|             "-f", |             "-f", | ||||||
|             CacheFilename, |             CacheFilename, | ||||||
|  |             "-P", | ||||||
|             "-C", |             "-C", | ||||||
|             workspace, |             workspace, | ||||||
|             "--files-from", |             "--files-from", | ||||||
|  | |||||||
| @ -7,6 +7,12 @@ if [ -z "$prefix" ]; then | |||||||
|   exit 1 |   exit 1 | ||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
|  | path="$2" | ||||||
|  | if [ -z "$path" ]; then | ||||||
|  |   echo "Must specify path argument" | ||||||
|  |   exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| # Sanity check GITHUB_RUN_ID defined | # Sanity check GITHUB_RUN_ID defined | ||||||
| if [ -z "$GITHUB_RUN_ID" ]; then | if [ -z "$GITHUB_RUN_ID" ]; then | ||||||
|   echo "GITHUB_RUN_ID not defined" |   echo "GITHUB_RUN_ID not defined" | ||||||
| @ -14,7 +20,7 @@ if [ -z "$GITHUB_RUN_ID" ]; then | |||||||
| fi | fi | ||||||
| 
 | 
 | ||||||
| # Verify file exists | # Verify file exists | ||||||
| file="test-cache/test-file.txt" | file="$path/test-file.txt" | ||||||
| echo "Checking for $file" | echo "Checking for $file" | ||||||
| if [ ! -e $file ]; then | if [ ! -e $file ]; then | ||||||
|   echo "File does not exist" |   echo "File does not exist" | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								dist/restore/index.js
									
									
									
									
										vendored
									
									
								
							| @ -2182,12 +2182,12 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const core = __importStar(__webpack_require__(470)); | const core = __importStar(__webpack_require__(470)); | ||||||
| const fs = __importStar(__webpack_require__(747)); |  | ||||||
| const crypto = __importStar(__webpack_require__(417)); |  | ||||||
| const http_client_1 = __webpack_require__(539); | const http_client_1 = __webpack_require__(539); | ||||||
| const auth_1 = __webpack_require__(226); | const auth_1 = __webpack_require__(226); | ||||||
| const utils = __importStar(__webpack_require__(443)); | const crypto = __importStar(__webpack_require__(417)); | ||||||
|  | const fs = __importStar(__webpack_require__(747)); | ||||||
| const constants_1 = __webpack_require__(694); | const constants_1 = __webpack_require__(694); | ||||||
|  | const utils = __importStar(__webpack_require__(443)); | ||||||
| const versionSalt = "1.0"; | const versionSalt = "1.0"; | ||||||
| function isSuccessStatusCode(statusCode) { | function isSuccessStatusCode(statusCode) { | ||||||
|     if (!statusCode) { |     if (!statusCode) { | ||||||
| @ -3185,8 +3185,8 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const core = __importStar(__webpack_require__(470)); | const core = __importStar(__webpack_require__(470)); | ||||||
| const io = __importStar(__webpack_require__(1)); |  | ||||||
| const glob = __importStar(__webpack_require__(281)); | const glob = __importStar(__webpack_require__(281)); | ||||||
|  | const io = __importStar(__webpack_require__(1)); | ||||||
| const fs = __importStar(__webpack_require__(747)); | const fs = __importStar(__webpack_require__(747)); | ||||||
| const path = __importStar(__webpack_require__(622)); | const path = __importStar(__webpack_require__(622)); | ||||||
| const util = __importStar(__webpack_require__(669)); | const util = __importStar(__webpack_require__(669)); | ||||||
| @ -5016,6 +5016,7 @@ function createTar(archiveFolder, sourceDirectories) { | |||||||
|             "-cz", |             "-cz", | ||||||
|             "-f", |             "-f", | ||||||
|             constants_1.CacheFilename, |             constants_1.CacheFilename, | ||||||
|  |             "-P", | ||||||
|             "-C", |             "-C", | ||||||
|             workingDirectory, |             workingDirectory, | ||||||
|             "--files-from", |             "--files-from", | ||||||
|  | |||||||
							
								
								
									
										9
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										9
									
								
								dist/save/index.js
									
									
									
									
										vendored
									
									
								
							| @ -2182,12 +2182,12 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const core = __importStar(__webpack_require__(470)); | const core = __importStar(__webpack_require__(470)); | ||||||
| const fs = __importStar(__webpack_require__(747)); |  | ||||||
| const crypto = __importStar(__webpack_require__(417)); |  | ||||||
| const http_client_1 = __webpack_require__(539); | const http_client_1 = __webpack_require__(539); | ||||||
| const auth_1 = __webpack_require__(226); | const auth_1 = __webpack_require__(226); | ||||||
| const utils = __importStar(__webpack_require__(443)); | const crypto = __importStar(__webpack_require__(417)); | ||||||
|  | const fs = __importStar(__webpack_require__(747)); | ||||||
| const constants_1 = __webpack_require__(694); | const constants_1 = __webpack_require__(694); | ||||||
|  | const utils = __importStar(__webpack_require__(443)); | ||||||
| const versionSalt = "1.0"; | const versionSalt = "1.0"; | ||||||
| function isSuccessStatusCode(statusCode) { | function isSuccessStatusCode(statusCode) { | ||||||
|     if (!statusCode) { |     if (!statusCode) { | ||||||
| @ -3185,8 +3185,8 @@ var __importStar = (this && this.__importStar) || function (mod) { | |||||||
| }; | }; | ||||||
| Object.defineProperty(exports, "__esModule", { value: true }); | Object.defineProperty(exports, "__esModule", { value: true }); | ||||||
| const core = __importStar(__webpack_require__(470)); | const core = __importStar(__webpack_require__(470)); | ||||||
| const io = __importStar(__webpack_require__(1)); |  | ||||||
| const glob = __importStar(__webpack_require__(281)); | const glob = __importStar(__webpack_require__(281)); | ||||||
|  | const io = __importStar(__webpack_require__(1)); | ||||||
| const fs = __importStar(__webpack_require__(747)); | const fs = __importStar(__webpack_require__(747)); | ||||||
| const path = __importStar(__webpack_require__(622)); | const path = __importStar(__webpack_require__(622)); | ||||||
| const util = __importStar(__webpack_require__(669)); | const util = __importStar(__webpack_require__(669)); | ||||||
| @ -4993,6 +4993,7 @@ function createTar(archiveFolder, sourceDirectories) { | |||||||
|             "-cz", |             "-cz", | ||||||
|             "-f", |             "-f", | ||||||
|             constants_1.CacheFilename, |             constants_1.CacheFilename, | ||||||
|  |             "-P", | ||||||
|             "-C", |             "-C", | ||||||
|             workingDirectory, |             workingDirectory, | ||||||
|             "--files-from", |             "--files-from", | ||||||
|  | |||||||
| @ -59,6 +59,7 @@ export async function createTar( | |||||||
|         "-cz", |         "-cz", | ||||||
|         "-f", |         "-f", | ||||||
|         CacheFilename, |         CacheFilename, | ||||||
|  |         "-P", | ||||||
|         "-C", |         "-C", | ||||||
|         workingDirectory, |         workingDirectory, | ||||||
|         "--files-from", |         "--files-from", | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 David Hadka
						David Hadka