From d575aec093a78a98bcbb6dba45d698ec70bfef95 Mon Sep 17 00:00:00 2001 From: Jeff Otterson Date: Sun, 12 Jul 2026 18:15:43 -0600 Subject: [PATCH] ci: add the gates this repo asks of everyone else oracle-gate is a framework for testing AI-built code and had 309 passing tests with no CI running them, no CodeQL, and no Dependabot. That is not a defensible place to argue from. - ci.yml: pytest on 3.11-3.13 (tool/) - codeql.yml: security-extended, push/PR/weekly - dependabot.yml: pip (/tool) + github-actions Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01TPjVrxHnpbkHn5EukemujZ --- .github/dependabot.yml | 19 +++++++++++++++++++ .github/workflows/ci.yml | 26 ++++++++++++++++++++++++++ .github/workflows/codeql.yml | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/codeql.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..6c0a71b --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,19 @@ +version: 2 +updates: + - package-ecosystem: "pip" + directory: "/tool" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + python: + patterns: ["*"] + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" + open-pull-requests-limit: 5 + groups: + actions: + patterns: ["*"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..10b9ffb --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,26 @@ +name: ci + +on: + push: + branches: [main] + pull_request: + +permissions: + contents: read + +jobs: + test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: tool + strategy: + matrix: + python-version: ["3.11", "3.12", "3.13"] + steps: + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5 + with: + python-version: ${{ matrix.python-version }} + - run: pip install -e ".[dev]" + - run: python -m pytest -q diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..a72b4e2 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,35 @@ +name: CodeQL + +on: + push: + branches: [main] + pull_request: + branches: [main] + schedule: + - cron: "27 4 * * 1" # weekly, Monday 04:27 UTC + +permissions: + contents: read + +jobs: + analyze: + name: Analyze (python) + runs-on: ubuntu-latest + permissions: + security-events: write + actions: read + contents: read + steps: + - name: Checkout + uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4 + + - name: Initialize CodeQL + uses: github/codeql-action/init@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3 + with: + languages: python + queries: security-extended + + - name: Perform CodeQL analysis + uses: github/codeql-action/analyze@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3 + with: + category: "/language:python"