# Simplified Commit Queue # # (Force) push to "queue-main-$USER" a potential change, and # this job will push it main if it passes pre-commit and tests, # which will run in parallel. The push may fail if the commit # cannot be pushed cleanly because it needs to be rebased, which # will happen especially if another developer pushes a change at # roughly the same time. # # Please keep this file in sync with queue-dev.yml. name: Main Branch Commit Queue on: push: branches: - "queue-main-*" permissions: read-all jobs: formatting: uses: ./.github/workflows/formatting.yml permissions: contents: write with: auto_fix: true go-test: needs: [formatting] uses: ./.github/workflows/go_test.yml permissions: read-all with: ref: ${{ needs.formatting.outputs.commit_sha }} ui-test: needs: [formatting] uses: ./.github/workflows/webui_test.yml permissions: read-all with: ref: ${{ needs.formatting.outputs.commit_sha }} push-to-main: runs-on: ubuntu-latest needs: [go-test, ui-test, formatting] permissions: contents: write steps: - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Push to main run: | COMMIT_TO_PUSH="HEAD" if [[ "${{ needs.formatting.outputs.commit_sha }}" != "" ]]; then echo "Using formatted commit: ${{ needs.formatting.outputs.commit_sha }}" COMMIT_TO_PUSH="${{ needs.formatting.outputs.commit_sha }}" fi git push https://${GITHUB_ACTOR}:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git "${COMMIT_TO_PUSH}":main env: GITHUB_TOKEN: ${{ github.token }}