[ci] Enable benchmark ci on schedule on branch 1.0.0-preview
This commit is contained in:
		
							parent
							
								
									f8825e453e
								
							
						
					
					
						commit
						40330b116e
					
				
							
								
								
									
										167
									
								
								.github/workflows/benchmarks.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										167
									
								
								.github/workflows/benchmarks.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,167 @@ | |||||||
|  | name: Benchmarks Test | ||||||
|  | # Currently this workflow is only used for running benchmarks test on schedule on branch 1.0.0-preview | ||||||
|  | 
 | ||||||
|  | on: | ||||||
|  |   schedule: | ||||||
|  |     # Schedule to run on Wed,Sat at 10PM UTC (6AM CST) | ||||||
|  |     - cron:  '0 22 * * 3,6' | ||||||
|  | 
 | ||||||
|  | jobs: | ||||||
|  |   Sysbench_Test: | ||||||
|  |     timeout-minutes: 40 | ||||||
|  |     runs-on: ${{ matrix.self_runner }} | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         self_runner: [[self-hosted, SGX2-HW, benchmark]] | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |     - name: Clean before running | ||||||
|  |       run: | | ||||||
|  |         sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | ||||||
|  | 
 | ||||||
|  |     - uses: AutoModality/action-clean@v1 | ||||||
|  | 
 | ||||||
|  |     - name: Checkout code | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |       with: | ||||||
|  |         submodules: true | ||||||
|  |         ref: 1.0.0-preview | ||||||
|  | 
 | ||||||
|  |     - uses: ./.github/workflows/composite_action/hw | ||||||
|  |       with: | ||||||
|  |         container-name: ${{ github.job }} | ||||||
|  |         build-envs: 'OCCLUM_RELEASE_BUILD=1' | ||||||
|  | 
 | ||||||
|  |     - name: Run sysbench download and build | ||||||
|  |       run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/sysbench && ./sysbench.sh 120" | ||||||
|  | 
 | ||||||
|  |     - name: Copy result | ||||||
|  |       run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/sysbench/result.json . | ||||||
|  | 
 | ||||||
|  |     # Run `github-action-benchmark` action | ||||||
|  |     - name: Store benchmark result | ||||||
|  |       uses: benchmark-action/github-action-benchmark@v1 | ||||||
|  |       with: | ||||||
|  |         name: Sysbench Benchmark | ||||||
|  |         # What benchmark tool the output.txt came from | ||||||
|  |         tool: 'customSmallerIsBetter' | ||||||
|  |         # Where the output from the benchmark tool is stored | ||||||
|  |         output-file-path: result.json | ||||||
|  |         # Path to directory which contains benchmark files on GitHub pages branch | ||||||
|  |         benchmark-data-dir-path: 'dev/benchmarks' | ||||||
|  |         github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |         auto-push: true | ||||||
|  |         # Show alert with commit comment on detecting possible performance regression | ||||||
|  |         alert-threshold: '200%' | ||||||
|  |         comment-on-alert: true | ||||||
|  |         # Workflow will fail when an alert happens | ||||||
|  |         fail-on-alert: true | ||||||
|  |     - name: Clean the environment | ||||||
|  |       if: ${{ always() }} | ||||||
|  |       run: docker stop ${{ env.CONTAINER_NAME }} | ||||||
|  | 
 | ||||||
|  |   Iperf3_Test: | ||||||
|  |     timeout-minutes: 40 | ||||||
|  |     runs-on: ${{ matrix.self_runner }} | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         self_runner: [[self-hosted, SGX2-HW, benchmark]] | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |     - name: Clean before running | ||||||
|  |       run: | | ||||||
|  |         sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | ||||||
|  | 
 | ||||||
|  |     - uses: AutoModality/action-clean@v1 | ||||||
|  | 
 | ||||||
|  |     - name: Checkout code | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |       with: | ||||||
|  |         submodules: true | ||||||
|  |         ref: 1.0.0-preview | ||||||
|  | 
 | ||||||
|  |     - uses: ./.github/workflows/composite_action/hw | ||||||
|  |       with: | ||||||
|  |         container-name: ${{ github.job }} | ||||||
|  |         build-envs: 'OCCLUM_RELEASE_BUILD=1' | ||||||
|  | 
 | ||||||
|  |     - name: Run iperf3 download and build | ||||||
|  |       run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/iperf3 && ./iperf3.sh 120" | ||||||
|  | 
 | ||||||
|  |     - name: Copy result | ||||||
|  |       run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/iperf3/result.json . | ||||||
|  | 
 | ||||||
|  |     # Run `github-action-benchmark` action | ||||||
|  |     - name: Store benchmark result | ||||||
|  |       uses: benchmark-action/github-action-benchmark@v1 | ||||||
|  |       with: | ||||||
|  |         name: Iperf3 Benchmark | ||||||
|  |         # What benchmark tool the output.txt came from | ||||||
|  |         tool: 'customBiggerIsBetter ' | ||||||
|  |         # Where the output from the benchmark tool is stored | ||||||
|  |         output-file-path: result.json | ||||||
|  |         # Path to directory which contains benchmark files on GitHub pages branch | ||||||
|  |         benchmark-data-dir-path: 'dev/benchmarks' | ||||||
|  |         github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |         auto-push: true | ||||||
|  |         # Show alert with commit comment on detecting possible performance regression | ||||||
|  |         alert-threshold: '200%' | ||||||
|  |         comment-on-alert: true | ||||||
|  |         # Workflow will fail when an alert happens | ||||||
|  |         fail-on-alert: true | ||||||
|  |     - name: Clean the environment | ||||||
|  |       if: ${{ always() }} | ||||||
|  |       run: docker stop ${{ env.CONTAINER_NAME }} | ||||||
|  | 
 | ||||||
|  |   FIO_Test: | ||||||
|  |     timeout-minutes: 60 | ||||||
|  |     runs-on: ${{ matrix.self_runner }} | ||||||
|  |     strategy: | ||||||
|  |       matrix: | ||||||
|  |         self_runner: [[self-hosted, SGX2-HW, benchmark]] | ||||||
|  | 
 | ||||||
|  |     steps: | ||||||
|  |     - name: Clean before running | ||||||
|  |       run: | | ||||||
|  |         sudo chown -R ${{ secrets.CI_ADMIN }} "${{ github.workspace }}" | ||||||
|  | 
 | ||||||
|  |     - uses: AutoModality/action-clean@v1 | ||||||
|  | 
 | ||||||
|  |     - name: Checkout code | ||||||
|  |       uses: actions/checkout@v2 | ||||||
|  |       with: | ||||||
|  |         submodules: true | ||||||
|  |         ref: 1.0.0-preview | ||||||
|  | 
 | ||||||
|  |     - uses: ./.github/workflows/composite_action/hw | ||||||
|  |       with: | ||||||
|  |         container-name: ${{ github.job }} | ||||||
|  |         build-envs: 'OCCLUM_RELEASE_BUILD=1' | ||||||
|  | 
 | ||||||
|  |     - name: Run fio download and build | ||||||
|  |       run: docker exec ${{ env.CONTAINER_NAME }} bash -c "cd /root/occlum/demos/benchmarks/fio && ./fio_microbench.sh" | ||||||
|  | 
 | ||||||
|  |     - name: Copy result | ||||||
|  |       run: docker cp ${{ env.CONTAINER_NAME }}:/root/occlum/demos/benchmarks/fio/result.json . | ||||||
|  | 
 | ||||||
|  |     # Run `github-action-benchmark` action | ||||||
|  |     - name: Store benchmark result | ||||||
|  |       uses: benchmark-action/github-action-benchmark@v1 | ||||||
|  |       with: | ||||||
|  |         name: FIO Benchmark | ||||||
|  |         # What benchmark tool the output.txt came from | ||||||
|  |         tool: 'customBiggerIsBetter' | ||||||
|  |         # Where the output from the benchmark tool is stored | ||||||
|  |         output-file-path: result.json | ||||||
|  |         # Path to directory which contains benchmark files on GitHub pages branch | ||||||
|  |         benchmark-data-dir-path: 'dev/benchmarks' | ||||||
|  |         github-token: ${{ secrets.GITHUB_TOKEN }} | ||||||
|  |         auto-push: true | ||||||
|  |         # Show alert with commit comment on detecting possible performance regression | ||||||
|  |         alert-threshold: '200%' | ||||||
|  |         comment-on-alert: true | ||||||
|  |         # Workflow will fail when an alert happens | ||||||
|  |         fail-on-alert: true | ||||||
|  |     - name: Clean the environment | ||||||
|  |       if: ${{ always() }} | ||||||
|  |       run: docker stop ${{ env.CONTAINER_NAME }} | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user