mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +01:00 
			
		
		
		
	chore: improve openapi diff output (#10570)
This will output the comment of openapi diffs in proper markdown format.
This commit is contained in:
		
							parent
							
								
									8364498c22
								
							
						
					
					
						commit
						091aa2e8e9
					
				
							
								
								
									
										14
									
								
								.github/workflows/openapi-diff.yaml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								.github/workflows/openapi-diff.yaml
									
									
									
									
										vendored
									
									
								
							@ -1,5 +1,9 @@
 | 
			
		||||
name: OpenAPI Diff
 | 
			
		||||
 | 
			
		||||
concurrency:
 | 
			
		||||
  group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
 | 
			
		||||
  cancel-in-progress: true
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
    paths:
 | 
			
		||||
@ -121,16 +125,20 @@ jobs:
 | 
			
		||||
        id: diff
 | 
			
		||||
        run: |
 | 
			
		||||
          docker run --rm -t -v $(pwd):/specs:ro tufin/oasdiff changelog --format markdown /specs/openapi-stable.json /specs/openapi-current.json > openapi-diff.txt || true
 | 
			
		||||
          # then output in a format that can be used in GitHub Actions
 | 
			
		||||
          # then output in a format that is useful when you go inside the job output
 | 
			
		||||
          docker run --rm -t -v $(pwd):/specs:ro tufin/oasdiff changelog --format githubactions /specs/openapi-stable.json /specs/openapi-current.json
 | 
			
		||||
      - name: Show OpenAPI diff
 | 
			
		||||
        if: github.event_name != 'pull_request'
 | 
			
		||||
        run: cat openapi-diff.txt
 | 
			
		||||
      - name: Comment on PR with OpenAPI diff
 | 
			
		||||
        if: github.event_name == 'pull_request'
 | 
			
		||||
        uses: actions/github-script@v7
 | 
			
		||||
        with:
 | 
			
		||||
          script: |
 | 
			
		||||
            const fs = require('fs');
 | 
			
		||||
            const diff = fs.readFileSync('openapi-diff.txt', 'utf8');
 | 
			
		||||
            const diffLines = diff.split('\n').filter(line => line.trim() !== '' && !line.startsWith('#')).length;
 | 
			
		||||
            const marker = '### OpenAPI Diff';
 | 
			
		||||
            const marker = '[//]: # (OpenAPI diff - used to identify the comment)';
 | 
			
		||||
            // Get all comments on the PR
 | 
			
		||||
            const { data: comments } = await github.rest.issues.listComments({
 | 
			
		||||
              issue_number: context.issue.number,
 | 
			
		||||
@ -144,7 +152,7 @@ jobs:
 | 
			
		||||
              body = `${marker} too long, check the this task output for details.`;
 | 
			
		||||
              console.log(diff);
 | 
			
		||||
            } else if (diffLines > 0) {
 | 
			
		||||
              body = `${marker}\n\n\`\`\`diff\n${diff}\n\`\`\``;
 | 
			
		||||
              body = `${marker}\n${diff}`;
 | 
			
		||||
            } else {
 | 
			
		||||
              body = null;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user