46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: update-e2e-branch
 | 
						|
 | 
						|
# This is used to sync the `all-e2e` branch with the `main` branch for the
 | 
						|
# logic in the test utility `orRunWhenFullSuiteEnabled()` that allows all e2e
 | 
						|
# tests to run on a particular branch to analyze failures metrics in Axiom.
 | 
						|
 | 
						|
on:
 | 
						|
  schedule:
 | 
						|
    - cron: '0 * * * *' # runs every hour
 | 
						|
 | 
						|
permissions:
 | 
						|
  contents: write
 | 
						|
 | 
						|
jobs:
 | 
						|
  update-branch:
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/create-github-app-token@v1
 | 
						|
        id: app-token
 | 
						|
        with:
 | 
						|
          app-id: ${{ secrets.MODELING_APP_GH_APP_ID }}
 | 
						|
          private-key: ${{ secrets.MODELING_APP_GH_APP_PRIVATE_KEY }}
 | 
						|
          owner: ${{ github.repository_owner }}
 | 
						|
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
        with:
 | 
						|
          token: ${{ steps.app-token.outputs.token }}
 | 
						|
 | 
						|
      - name: Sync with main
 | 
						|
        run: |
 | 
						|
          # Create the branch
 | 
						|
          git checkout all-e2e || git checkout -b all-e2e
 | 
						|
 | 
						|
          # Reset to main
 | 
						|
          git fetch origin
 | 
						|
          git reset --hard origin/main
 | 
						|
 | 
						|
          # Get a new SHA to prevent overwriting the commit status on main
 | 
						|
          git config --local user.email "github-actions[bot]@users.noreply.github.com"
 | 
						|
          git config --local user.name "github-actions[bot]"
 | 
						|
          git commit --amend --message="[all-e2e] $(git log --max-count=1 --pretty=%B)"
 | 
						|
 | 
						|
          # Overwrite the branch
 | 
						|
          git remote set-url origin https://x-access-token:${{ steps.app-token.outputs.token }}@github.com/${{ github.repository }}.git
 | 
						|
          git push --force origin all-e2e
 |