Skip to content

test

test #2

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