mirror of
				https://github.com/lightpanda-io/browser.git
				synced 2025-10-30 07:31:47 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			134 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			134 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: zig-test
 | |
| 
 | |
| env:
 | |
|   AWS_ACCESS_KEY_ID: ${{ vars.LPD_PERF_AWS_ACCESS_KEY_ID }}
 | |
|   AWS_SECRET_ACCESS_KEY: ${{ secrets.LPD_PERF_AWS_SECRET_ACCESS_KEY }}
 | |
|   AWS_BUCKET: ${{ vars.LPD_PERF_AWS_BUCKET }}
 | |
|   AWS_REGION: ${{ vars.LPD_PERF_AWS_REGION }}
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - main
 | |
|     paths:
 | |
|       - "build.zig"
 | |
|       - "src/**/*.zig"
 | |
|       - "src/*.zig"
 | |
|       - "vendor/zig-js-runtime"
 | |
|       - ".github/**"
 | |
|   pull_request:
 | |
| 
 | |
|     # By default GH trigger on types opened, synchronize and reopened.
 | |
|     # see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request
 | |
|     # Since we skip the job when the PR is in draft state, we want to force CI
 | |
|     # running when the PR is marked ready_for_review w/o other change.
 | |
|     # see https://github.com/orgs/community/discussions/25722#discussioncomment-3248917
 | |
|     types: [opened, synchronize, reopened, ready_for_review]
 | |
| 
 | |
|     paths:
 | |
|       - ".github/**"
 | |
|       - "build.zig"
 | |
|       - "src/**/*.zig"
 | |
|       - "src/*.zig"
 | |
|       - "vendor/**"
 | |
|       - ".github/**"
 | |
|   # Allows you to run this workflow manually from the Actions tab
 | |
|   workflow_dispatch:
 | |
| 
 | |
| jobs:
 | |
|   zig-build-dev:
 | |
|     name: zig build dev
 | |
| 
 | |
|     # Don't run the CI with draft PR.
 | |
|     if: github.event.pull_request.draft == false
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|         with:
 | |
|           fetch-depth: 0
 | |
|           # fetch submodules recusively, to get zig-js-runtime submodules also.
 | |
|           submodules: recursive
 | |
| 
 | |
|       - uses: ./.github/actions/install
 | |
| 
 | |
|       - name: zig build debug
 | |
|         run: zig build -Dengine=v8
 | |
| 
 | |
|   zig-build-release:
 | |
|     name: zig build release
 | |
| 
 | |
|     # Don't run the CI on PR
 | |
|     if: github.event_name != 'pull_request'
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|         with:
 | |
|           fetch-depth: 0
 | |
|           # fetch submodules recusively, to get zig-js-runtime submodules also.
 | |
|           submodules: recursive
 | |
| 
 | |
|       - uses: ./.github/actions/install
 | |
| 
 | |
|       - name: zig build release
 | |
|         run: zig build -Doptimize=ReleaseSafe -Dengine=v8
 | |
| 
 | |
|   zig-test:
 | |
|     name: zig test
 | |
| 
 | |
|     # Don't run the CI with draft PR.
 | |
|     if: github.event.pull_request.draft == false
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|         with:
 | |
|           fetch-depth: 0
 | |
|           # fetch submodules recusively, to get zig-js-runtime submodules also.
 | |
|           submodules: recursive
 | |
| 
 | |
|       - uses: ./.github/actions/install
 | |
| 
 | |
|       - name: zig build test
 | |
|         run: zig build test -Dengine=v8 -- --json > bench.json
 | |
| 
 | |
|       - name: write commit
 | |
|         run: |
 | |
|           echo "${{github.sha}}" > commit.txt
 | |
| 
 | |
|       - name: upload artifact
 | |
|         uses: actions/upload-artifact@v4
 | |
|         with:
 | |
|           name: bench-results
 | |
|           path: |
 | |
|             bench.json
 | |
|             commit.txt
 | |
|           retention-days: 10
 | |
| 
 | |
|   bench-fmt:
 | |
|     name: perf-fmt
 | |
|     needs: zig-test
 | |
| 
 | |
|     # Don't execute on PR
 | |
|     if: github.event_name != 'pull_request'
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
|     container:
 | |
|       image: ghcr.io/lightpanda-io/perf-fmt:latest
 | |
|       credentials:
 | |
|        username: ${{ github.actor }}
 | |
|        password: ${{ secrets.GITHUB_TOKEN }}
 | |
| 
 | |
|     steps:
 | |
|       - name: download artifact
 | |
|         uses: actions/download-artifact@v4
 | |
|         with:
 | |
|           name: bench-results
 | |
| 
 | |
|       - name: format and send json result
 | |
|         run: /perf-fmt bench-browser ${{ github.sha }} bench.json
 | 
