You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							112 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							112 lines
						
					
					
						
							3.1 KiB
						
					
					
				| name: Benchmark
 | |
| 
 | |
| on:
 | |
|   pull_request_target:
 | |
|     types: [labeled]
 | |
| 
 | |
| jobs:
 | |
|   benchmark:
 | |
|     if: ${{ github.event.label.name == 'benchmark' }}
 | |
|     runs-on: ubuntu-latest
 | |
|     outputs:
 | |
|       PR-BENCH-12: ${{ steps.benchmark-pr.outputs.BENCH_RESULT12 }}
 | |
|       PR-BENCH-14: ${{ steps.benchmark-pr.outputs.BENCH_RESULT14 }}
 | |
|       PR-BENCH-16: ${{ steps.benchmark-pr.outputs.BENCH_RESULT16 }}
 | |
|       MAIN-BENCH-12: ${{ steps.benchmark-main.outputs.BENCH_RESULT12 }}
 | |
|       MAIN-BENCH-14: ${{ steps.benchmark-main.outputs.BENCH_RESULT14 }}
 | |
|       MAIN-BENCH-16: ${{ steps.benchmark-main.outputs.BENCH_RESULT16 }}
 | |
|     strategy:
 | |
|       matrix:
 | |
|         node-version: [12, 14, 16]
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|         with:
 | |
|           ref: ${{github.event.pull_request.head.ref}}
 | |
|           repository: ${{github.event.pull_request.head.repo.full_name}}
 | |
| 
 | |
|       - uses: actions/setup-node@v2
 | |
|         with:
 | |
|           node-version: ${{ matrix.node-version }}
 | |
| 
 | |
|       - name: Install
 | |
|         run: |
 | |
|                     npm install --ignore-scripts
 | |
| 
 | |
|       - name: Run benchmark
 | |
|         id: benchmark-pr
 | |
|         run: |
 | |
|           npm run --silent benchmark > ./bench-result
 | |
|           content=$(cat ./bench-result)
 | |
|           content="${content//'%'/'%25'}"
 | |
|           content="${content//$'\n'/'%0A'}"
 | |
|           content="${content//$'\r'/'%0D'}"
 | |
|           echo "::set-output name=BENCH_RESULT${{matrix.node-version}}::$content"          
 | |
| 
 | |
|       # main benchmark
 | |
|       - uses: actions/checkout@v2
 | |
|         with:
 | |
|           ref: 'master'
 | |
| 
 | |
|       - name: Install
 | |
|         run: |
 | |
|                     npm install --ignore-scripts
 | |
| 
 | |
|       - name: Run benchmark
 | |
|         id: benchmark-master
 | |
|         run: |
 | |
|           npm run --silent benchmark > ./bench-result
 | |
|           content=$(cat ./bench-result)
 | |
|           content="${content//'%'/'%25'}"
 | |
|           content="${content//$'\n'/'%0A'}"
 | |
|           content="${content//$'\r'/'%0D'}"
 | |
|           echo "::set-output name=BENCH_RESULT${{matrix.node-version}}::$content"          
 | |
| 
 | |
|   output-benchmark:
 | |
|     needs: [benchmark]
 | |
|     runs-on: ubuntu-latest
 | |
|     steps:
 | |
|       - name: Comment PR
 | |
|         uses: thollander/actions-comment-pull-request@v1
 | |
|         with:
 | |
|           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | |
|           message: |
 | |
|             **Node**: 12
 | |
|             **PR**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.PR-BENCH-12 }}
 | |
|             ```
 | |
|             **MAIN**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.MAIN-BENCH-12 }}
 | |
|             ```
 | |
|             
 | |
|             ---
 | |
|             
 | |
|             **Node**: 14
 | |
|             **PR**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.PR-BENCH-14 }}
 | |
|             ```
 | |
|             **MAIN**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.MAIN-BENCH-14 }}
 | |
|             ```
 | |
|             
 | |
|             ---
 | |
|             
 | |
|             **Node**: 16
 | |
|             **PR**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.PR-BENCH-16 }}
 | |
|             ```
 | |
|             **MAIN**:
 | |
|             ```
 | |
|             ${{ needs.benchmark.outputs.MAIN-BENCH-16 }}
 | |
|             ```
 | |
|                         
 | |
|       - uses: actions-ecosystem/action-remove-labels@v1
 | |
|         with:
 | |
|           labels: |
 | |
|                         benchmark
 | |
|           github_token: ${{ secrets.GITHUB_TOKEN }}
 |