diff --git a/.devin/blueprint.yaml b/.devin/blueprint.yaml new file mode 100644 index 0000000..dcf9906 --- /dev/null +++ b/.devin/blueprint.yaml @@ -0,0 +1,13 @@ +clone: + depth: 1 + lfs: false + submodules: false +initialize: | + command -v uv >/dev/null 2>&1 || curl -LsSf https://astral.sh/uv/install.sh | sh + uv python install 3.12 +maintenance: | + pip install -r requirements.txt +knowledge: + - name: test + contents: | + python3 -m pytest diff --git a/.github/workflows/sync-devin-blueprint.yaml b/.github/workflows/sync-devin-blueprint.yaml new file mode 100644 index 0000000..0f45661 --- /dev/null +++ b/.github/workflows/sync-devin-blueprint.yaml @@ -0,0 +1,25 @@ +name: Sync Devin blueprint + +on: + push: + branches: [main] + paths: ['.devin/blueprint.yaml'] + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - name: Sync blueprint to Devin + run: | + curl -sf -X POST \ + "https://api.devin.ai/v3beta1/organizations/${{ secrets.DEVIN_ORG_ID }}/snapshot-setup/sync" \ + -H "Authorization: Bearer ${{ secrets.DEVIN_API_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d '{"repo_name": "${{ github.repository }}"}' + - name: Trigger Devin snapshot build + run: | + curl -sf -X POST \ + "https://api.devin.ai/v3beta1/organizations/${{ secrets.DEVIN_ORG_ID }}/snapshot-setup/builds" \ + -H "Authorization: Bearer ${{ secrets.DEVIN_API_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d '{}' diff --git a/.mergify.yml b/.mergify.yml new file mode 100644 index 0000000..9f40dc6 --- /dev/null +++ b/.mergify.yml @@ -0,0 +1,30 @@ +queue_rules: + - name: default + merge_method: squash + queue_conditions: + - label=ready-to-merge + merge_conditions: + - label=ready-to-merge + +pull_request_rules: + - name: queue when ready + conditions: + - label=ready-to-merge + actions: + queue: + name: default + +commands_restrictions: + queue: + conditions: + - or: + - sender-permission >= write + - sender = devin-ai-integration + - sender = devin-ai-integration[bot] + +merge_protections: + - name: ready label + if: + - base=main + success_conditions: + - label=ready-to-merge