Merge branch 'js/ci-ghwf-dedup-tests'
GitHub Actions automated test improvement to skip tests on a tree identical to what has already been tested. * js/ci-ghwf-dedup-tests: ci: make the "skip-if-redundant" check more defensive ci: work around old records of GitHub runs
This commit is contained in:
		
							
								
								
									
										58
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										58
									
								
								.github/workflows/main.yml
									
									
									
									
										vendored
									
									
								
							| @ -41,35 +41,39 @@ jobs: | |||||||
|         with: |         with: | ||||||
|           github-token: ${{secrets.GITHUB_TOKEN}} |           github-token: ${{secrets.GITHUB_TOKEN}} | ||||||
|           script: | |           script: | | ||||||
|             // Figure out workflow ID, commit and tree |             try { | ||||||
|             const { data: run } = await github.actions.getWorkflowRun({ |               // Figure out workflow ID, commit and tree | ||||||
|               owner: context.repo.owner, |               const { data: run } = await github.actions.getWorkflowRun({ | ||||||
|               repo: context.repo.repo, |                 owner: context.repo.owner, | ||||||
|               run_id: context.runId, |                 repo: context.repo.repo, | ||||||
|             }); |                 run_id: context.runId, | ||||||
|             const workflow_id = run.workflow_id; |               }); | ||||||
|             const head_sha = run.head_sha; |               const workflow_id = run.workflow_id; | ||||||
|             const tree_id = run.head_commit.tree_id; |               const head_sha = run.head_sha; | ||||||
|  |               const tree_id = run.head_commit.tree_id; | ||||||
|  |  | ||||||
|             // See whether there is a successful run for that commit or tree |               // See whether there is a successful run for that commit or tree | ||||||
|             const { data: runs } = await github.actions.listWorkflowRuns({ |               const { data: runs } = await github.actions.listWorkflowRuns({ | ||||||
|               owner: context.repo.owner, |                 owner: context.repo.owner, | ||||||
|               repo: context.repo.repo, |                 repo: context.repo.repo, | ||||||
|               per_page: 500, |                 per_page: 500, | ||||||
|               status: 'success', |                 status: 'success', | ||||||
|               workflow_id, |                 workflow_id, | ||||||
|             }); |               }); | ||||||
|             for (const run of runs.workflow_runs) { |               for (const run of runs.workflow_runs) { | ||||||
|               if (head_sha === run.head_sha) { |                 if (head_sha === run.head_sha) { | ||||||
|                 core.warning(`Successful run for the commit ${head_sha}: ${run.html_url}`); |                   core.warning(`Successful run for the commit ${head_sha}: ${run.html_url}`); | ||||||
|                 core.setOutput('enabled', ' but skip'); |                   core.setOutput('enabled', ' but skip'); | ||||||
|                 break; |                   break; | ||||||
|               } |                 } | ||||||
|               if (tree_id === run.head_commit.tree_id) { |                 if (run.head_commit && tree_id === run.head_commit.tree_id) { | ||||||
|                 core.warning(`Successful run for the tree ${tree_id}: ${run.html_url}`); |                   core.warning(`Successful run for the tree ${tree_id}: ${run.html_url}`); | ||||||
|                 core.setOutput('enabled', ' but skip'); |                   core.setOutput('enabled', ' but skip'); | ||||||
|                 break; |                   break; | ||||||
|  |                 } | ||||||
|               } |               } | ||||||
|  |             } catch (e) { | ||||||
|  |               core.warning(e); | ||||||
|             } |             } | ||||||
|  |  | ||||||
|   windows-build: |   windows-build: | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Junio C Hamano
					Junio C Hamano