diff --git a/.github/workflows/build-and-test.yaml b/.github/workflows/build-and-test.yaml new file mode 100644 index 00000000..960da61b --- /dev/null +++ b/.github/workflows/build-and-test.yaml @@ -0,0 +1,36 @@ +name: Build-and-test + +on: + push: + +jobs: + build-and-test: + runs-on: ubuntu-latest + + steps: + - id: checkout + uses: actions/checkout@v2 + + - id: dockerx + name: Setup Docker Buildx + uses: docker/setup-buildx-action@v2 + + - id: build + name: Build dev docker + uses: docker/build-push-action@v2 + with: + context: . + file: ./docker/Dockerfile + push: false + load: true + tags: codiumai/pr-agent:test + cache-from: type=gha,scope=dev + cache-to: type=gha,mode=max,scope=dev + target: test + + - id: test + name: Test dev docker + run: | + docker run --rm codiumai/pr-agent:test pytest -v + + diff --git a/docker/Dockerfile b/docker/Dockerfile index 4a8b86d5..61ab74cf 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -4,17 +4,21 @@ WORKDIR /app ADD pyproject.toml . RUN pip install . && rm pyproject.toml ENV PYTHONPATH=/app -ADD pr_agent pr_agent FROM base as github_app +ADD pr_agent pr_agent CMD ["python", "pr_agent/servers/github_app.py"] FROM base as github_polling +ADD pr_agent pr_agent CMD ["python", "pr_agent/servers/github_polling.py"] FROM base as test ADD requirements-dev.txt . RUN pip install -r requirements-dev.txt && rm requirements-dev.txt +ADD pr_agent pr_agent +ADD tests tests FROM base as cli +ADD pr_agent pr_agent ENTRYPOINT ["python", "pr_agent/cli.py"]