This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Presubmits for Repo Agent | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| merge_group: | |
| jobs: | |
| unit-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: | | |
| repo-agent/go.sum | |
| overseer/go.sum | |
| dev/tools/go.sum | |
| - name: Run Unit Tests | |
| run: | | |
| ./dev/tools/test-unit --working-dir repo-agent/ | |
| ./dev/tools/test-unit --working-dir overseer/ | |
| lint: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: | | |
| repo-agent/go.sum | |
| overseer/go.sum | |
| dev/tools/go.sum | |
| - name: Run Lint | |
| run: | | |
| ./dev/tools/lint-go --working-dir repo-agent/ | |
| ./dev/tools/lint-go --working-dir overseer/ | |
| docker-build-overseer: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build and push | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: overseer/images/overseer/Dockerfile | |
| push: false | |
| docker-build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| # commented images are built in e2e test job | |
| image_name: | |
| #- configdir-cli | |
| #- configdir-controller | |
| - github-mcp-server | |
| #- repowatch-controller | |
| #- review-api | |
| #- repo-sandbox | |
| #- review-ui | |
| #- syncer | |
| - generic-golang | |
| - dind-golang | |
| permissions: | |
| contents: read | |
| packages: write | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build and push | |
| uses: docker/build-push-action@v5 | |
| with: | |
| context: . | |
| file: repo-agent/images/${{ matrix.image_name }}/Dockerfile | |
| push: false | |
| go-build: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: | | |
| repo-agent/go.sum | |
| overseer/go.sum | |
| dev/tools/go.sum | |
| - name: Build Binaries | |
| run: | | |
| ./dev/tools/build-go-binaries --working-dir repo-agent/ | |
| ./dev/tools/build-go-binaries --working-dir overseer/ | |
| generate: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: | | |
| repo-agent/go.sum | |
| overseer/go.sum | |
| dev/tools/go.sum | |
| - name: Run api generators | |
| run: ./dev/tools/fix-go-generate --working-dir repo-agent/api/ | |
| - name: Run controller generators | |
| run: ./dev/tools/fix-go-generate --working-dir repo-agent/pkg/controllers/ | |
| # Check for diffs | |
| - name: Check for uncommitted changes | |
| run: | | |
| if [[ -n $(git status --porcelain) ]]; then | |
| echo "Uncommitted changes found after code generation. Please run the generation scripts locally and commit the changes." | |
| git status | |
| exit 1 | |
| else | |
| echo "No uncommitted changes found." | |
| fi | |
| e2e-test: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-go@v5 | |
| with: | |
| go-version-file: go.mod | |
| cache-dependency-path: | | |
| repo-agent/go.sum | |
| overseer/go.sum | |
| dev/tools/go.sum | |
| - name: dev/tasks/free-disk-space-on-github-actions-runner | |
| run: dev/tasks/free-disk-space-on-github-actions-runner | |
| - name: Run E2E Tests | |
| env: | |
| GITHUB_PAT: ${{ github.token }} | |
| run: ./dev/ci/presubmits/test-e2e-repo-agent |