gha: standalone import-check (#48873)
This commit is contained in:
		
							
								
								
									
										4
									
								
								.github/workflows/ci.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										4
									
								
								.github/workflows/ci.yaml
									
									
									
									
										vendored
									
									
								
							@@ -81,6 +81,10 @@ jobs:
 | 
				
			|||||||
    with:
 | 
					    with:
 | 
				
			||||||
      with_coverage: ${{ needs.changes.outputs.core }}
 | 
					      with_coverage: ${{ needs.changes.outputs.core }}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  import-check:
 | 
				
			||||||
 | 
					    needs: [ changes ]
 | 
				
			||||||
 | 
					    uses: ./.github/workflows/import-check.yaml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  all-prechecks:
 | 
					  all-prechecks:
 | 
				
			||||||
    needs: [ prechecks ]
 | 
					    needs: [ prechecks ]
 | 
				
			||||||
    if: ${{ always() }}
 | 
					    if: ${{ always() }}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										49
									
								
								.github/workflows/import-check.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								.github/workflows/import-check.yaml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
				
			|||||||
 | 
					name: import-check
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					on:
 | 
				
			||||||
 | 
					  workflow_call:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					jobs:
 | 
				
			||||||
 | 
					  # Check we don't make the situation with circular imports worse
 | 
				
			||||||
 | 
					  import-check:
 | 
				
			||||||
 | 
					    runs-on: ubuntu-latest
 | 
				
			||||||
 | 
					    steps:
 | 
				
			||||||
 | 
					    - uses: julia-actions/setup-julia@v2
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        version: '1.10'
 | 
				
			||||||
 | 
					    - uses: julia-actions/cache@v2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    # PR: use the base of the PR as the old commit
 | 
				
			||||||
 | 
					    - name: Checkout PR base commit
 | 
				
			||||||
 | 
					      if: github.event_name == 'pull_request'
 | 
				
			||||||
 | 
					      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        ref: ${{ github.event.pull_request.base.sha }}
 | 
				
			||||||
 | 
					        path: old
 | 
				
			||||||
 | 
					    # not a PR: use the previous commit as the old commit
 | 
				
			||||||
 | 
					    - name: Checkout previous commit
 | 
				
			||||||
 | 
					      if: github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        fetch-depth: 2
 | 
				
			||||||
 | 
					        path: old
 | 
				
			||||||
 | 
					    - name: Checkout previous commit
 | 
				
			||||||
 | 
					      if: github.event_name != 'pull_request'
 | 
				
			||||||
 | 
					      run: git -C old reset --hard HEAD^
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    - name: Checkout new commit
 | 
				
			||||||
 | 
					      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        path: new
 | 
				
			||||||
 | 
					    - name: Install circular import checker
 | 
				
			||||||
 | 
					      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
				
			||||||
 | 
					      with:
 | 
				
			||||||
 | 
					        repository: haampie/circular-import-fighter
 | 
				
			||||||
 | 
					        ref: 38c5473f619493d060d813c72c80eac86b3d2aeb
 | 
				
			||||||
 | 
					        path: circular-import-fighter
 | 
				
			||||||
 | 
					    - name: Install dependencies
 | 
				
			||||||
 | 
					      working-directory: circular-import-fighter
 | 
				
			||||||
 | 
					      run: make -j dependencies
 | 
				
			||||||
 | 
					    - name: Circular import check
 | 
				
			||||||
 | 
					      working-directory: circular-import-fighter
 | 
				
			||||||
 | 
					      run: make -j compare "SPACK_ROOT=../old ../new"
 | 
				
			||||||
							
								
								
									
										43
									
								
								.github/workflows/valid-style.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										43
									
								
								.github/workflows/valid-style.yml
									
									
									
									
										vendored
									
									
								
							@@ -86,49 +86,6 @@ jobs:
 | 
				
			|||||||
          spack -d bootstrap now --dev
 | 
					          spack -d bootstrap now --dev
 | 
				
			||||||
          spack -d style -t black
 | 
					          spack -d style -t black
 | 
				
			||||||
          spack unit-test -V
 | 
					          spack unit-test -V
 | 
				
			||||||
  # Check we don't make the situation with circular imports worse
 | 
					 | 
				
			||||||
  import-check:
 | 
					 | 
				
			||||||
    runs-on: ubuntu-latest
 | 
					 | 
				
			||||||
    steps:
 | 
					 | 
				
			||||||
    - uses: julia-actions/setup-julia@v2
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        version: '1.10'
 | 
					 | 
				
			||||||
    - uses: julia-actions/cache@v2
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    # PR: use the base of the PR as the old commit
 | 
					 | 
				
			||||||
    - name: Checkout PR base commit
 | 
					 | 
				
			||||||
      if: github.event_name == 'pull_request'
 | 
					 | 
				
			||||||
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        ref: ${{ github.event.pull_request.base.sha }}
 | 
					 | 
				
			||||||
        path: old
 | 
					 | 
				
			||||||
    # not a PR: use the previous commit as the old commit
 | 
					 | 
				
			||||||
    - name: Checkout previous commit
 | 
					 | 
				
			||||||
      if: github.event_name != 'pull_request'
 | 
					 | 
				
			||||||
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        fetch-depth: 2
 | 
					 | 
				
			||||||
        path: old
 | 
					 | 
				
			||||||
    - name: Checkout previous commit
 | 
					 | 
				
			||||||
      if: github.event_name != 'pull_request'
 | 
					 | 
				
			||||||
      run: git -C old reset --hard HEAD^
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    - name: Checkout new commit
 | 
					 | 
				
			||||||
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        path: new
 | 
					 | 
				
			||||||
    - name: Install circular import checker
 | 
					 | 
				
			||||||
      uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
 | 
					 | 
				
			||||||
      with:
 | 
					 | 
				
			||||||
        repository: haampie/circular-import-fighter
 | 
					 | 
				
			||||||
        ref: 38c5473f619493d060d813c72c80eac86b3d2aeb
 | 
					 | 
				
			||||||
        path: circular-import-fighter
 | 
					 | 
				
			||||||
    - name: Install dependencies
 | 
					 | 
				
			||||||
      working-directory: circular-import-fighter
 | 
					 | 
				
			||||||
      run: make -j dependencies
 | 
					 | 
				
			||||||
    - name: Circular import check
 | 
					 | 
				
			||||||
      working-directory: circular-import-fighter
 | 
					 | 
				
			||||||
      run: make -j compare "SPACK_ROOT=../old ../new"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # Further style checks from pylint
 | 
					  # Further style checks from pylint
 | 
				
			||||||
  pylint:
 | 
					  pylint:
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user