-
Notifications
You must be signed in to change notification settings - Fork 0
chore: move test_results into test/ and lint handlers #24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 6 commits
7907496
e4a566f
efce146
0295ae7
18310da
deb3176
569a798
cad7735
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| # Example .env file for SDLC_core | ||
| # Set the LLM provider (default: gemini). Options: gemini, openai, ollama | ||
| LLM_PROVIDER=gemini | ||
|
|
||
| # For Gemini (Google) | ||
| # DO NOT store real API keys in the repository. | ||
| # Provide your Gemini API key via GitHub Actions secrets (recommended for CI) or configure | ||
| # it locally in your shell environment when developing. | ||
| # Example (local): | ||
| # export GOOGLE_GEMINI_API_KEY="your-key-here" | ||
| # If you prefer dotenv for local development, create a local, untracked file (for example | ||
| # `.env.local`) and load it; do NOT commit it. | ||
| # GOOGLE_GEMINI_API_KEY= | ||
|
|
||
| # For OpenAI | ||
| # Provide your OpenAI API key via GitHub Actions secrets or set it locally: | ||
| # export OPENAI_API_KEY="sk-..." | ||
| # OPENAI_API_KEY= | ||
|
|
||
| # For Ollama (local, may not require API key) | ||
| # LLM_MODEL=llama2 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,81 @@ | ||
|
|
||
| # GitHub CI: Provider secrets & manual provider matrix | ||
|
|
||
| This file documents the repository secrets and quick steps to run provider-specific CI jobs manually. | ||
|
|
||
| - Add `GOOGLE_GEMINI_API_KEY` to your environment before running provider jobs. | ||
|
|
||
| - GitHub Actions / Secrets | ||
|
|
||
| To store provider keys for CI, add them as repository secrets. Example using the GitHub CLI: | ||
|
|
||
| ```bash | ||
| # store a Gemini key | ||
| gh secret set GOOGLE_GEMINI_API_KEY --body "<your-gemini-key>" | ||
|
|
||
| # store an OpenAI key | ||
| gh secret set OPENAI_API_KEY --body "<your-openai-key>" | ||
|
|
||
| # optionally, store Codecov token | ||
| gh secret set CODECOV_TOKEN --body "<your-codecov-token>" | ||
| ``` | ||
|
|
||
| - Local dev note: Do not commit API keys into the repository. The project `.env` file has been sanitized and no longer contains live API keys. For local development, either export the variables in your shell or create a `.env.local` file which is gitignored. | ||
|
|
||
| - `OPENAI_API_KEY` — API key for OpenAI (if you run OpenAI provider jobs). | ||
|
|
||
| - `CODECOV_TOKEN` — (optional) Codecov token for private repos if you want coverage uploaded. Public repos usually don't need this. | ||
|
|
||
| Notes about Ollama: | ||
|
|
||
| - Ollama is a local inference server. The CI provider matrix includes `ollama` as an option but most CI runs should use `gemini` or `openai` unless you have an Ollama server available in your runner. | ||
|
|
||
| - If you want to run Ollama in CI, you must either run a self-hosted runner that has Ollama installed and running, or start an Ollama container as part of the job before running tests. | ||
|
|
||
|
|
||
| Or set them manually in the GitHub UI: | ||
| - Repo → Settings → Secrets and variables → Actions → New repository secret | ||
|
|
||
|
|
||
| How to run the provider matrix manually | ||
|
|
||
| 1. Open the repository on GitHub and go to Actions → `Python Tests (consolidated)`. | ||
| 2. Click "Run workflow" and set `run_providers` to `true` then dispatch. | ||
|
|
||
| Or use the `gh` CLI to dispatch the workflow (example): | ||
|
|
||
| ```bash | ||
| # Replace 'python-test.yml' with the workflow file name if different | ||
| gh workflow run python-test.yml -f run_providers=true | ||
| ``` | ||
|
|
||
| If you prefer to run a single provider smoke job manually (quick check) use the provider-smoke job in the workflow (via the Actions UI) or run a small script locally that constructs the agent with `dry_run=True`: | ||
|
|
||
| ```bash | ||
| # Dry-run locally (no network calls) — uses gemini by default in examples | ||
| DRY_RUN=true LLM_PROVIDER=gemini python -c "from src.agents import deepagent; a=deepagent.SDLCFlexibleAgent(provider='gemini', dry_run=True); print('dry run ok', a.agent.run('hello'))" | ||
| ``` | ||
|
|
||
| Security | ||
|
|
||
| - Never commit secrets to the repository. | ||
| - Use least-privilege credentials for CI runs when possible. | ||
|
|
||
| Troubleshooting | ||
|
|
||
| - If the `providers` matrix job fails for `ollama`, check that the runner has network access to your Ollama server or that a local Ollama container was started prior to running tests. | ||
| - For Codecov failures, ensure `CODECOV_TOKEN` is set if the repo is private. | ||
|
|
||
| Running Ollama in CI (example) | ||
|
|
||
| If you want to spin up an Ollama container in a job before running tests, you can add a step like this (example using Docker): | ||
|
|
||
| ```yaml | ||
| - name: Start Ollama container | ||
| run: | | ||
| docker run -d --name ollama -p 11434:11434 ollama/ollama:latest | ||
| # optionally wait for health endpoint | ||
| until curl -sSf http://localhost:11434/health; do sleep 1; done | ||
| ``` | ||
|
|
||
| Note: replace `ollama/ollama:latest` with the image/tag you prefer. For GitHub-hosted runners, ensure Docker is available or use a self-hosted runner with Ollama installed. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| CI and testability improvements for DeepAgent (dry-run, tests, CI) | ||
Check failureCode scanning / check-spelling Check File Path Error
deepagent is not a recognized word. (check-file-path)
|
||
|
|
||
| - Added dry-run / MockAgent and an EchoTool to make DeepAgent importable and testable without provider APIs. | ||
| - Added offline unit tests for DeepAgent and provider selection. Local run: 5 tests passed. | ||
| - Added reproducible test runner (`scripts/run-tests.sh`), `Makefile` targets, and updated README with instructions. | ||
| - Adjusted `requirements.txt` to remove unavailable pins and pin validated provider adapters. | ||
| - Consolidated CI workflow `.github/workflows/python-test.yml` (ruff + mypy + pytest + codecov). Provider matrix is manual and must be dispatched by a user with repo:actions permissions. | ||
|
|
||
| Static checks: `src/agents/deepagent.py` passes ruff; repo-wide ruff still reports ~115 items (plan to fix in small batches). | ||
|
|
||
| Notes: | ||
| - mypy reports a duplicate-module issue for router modules; CI excludes `src/llm/router.py` until a refactor is done. | ||
| - Provider matrix run needs a manual dispatch in Actions (set run_providers=true) or a user with proper `gh` permissions. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,30 +1,7 @@ | ||
| # Python Unit Tests & Static Analysis | ||
| # This workflow runs unit tests and static code analysis | ||
| name: Python Tests and Static Analysis | ||
| name: Python Tests and Static Analysis (legacy) | ||
|
|
||
| on: | ||
| push: | ||
| paths: | ||
| - '**.py' | ||
| pull_request: | ||
| paths: | ||
| - '**.py' | ||
|
|
||
| jobs: | ||
| test-and-analyze: | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
| - name: Set up Python | ||
| uses: actions/setup-python@v5 | ||
| with: | ||
| python-version: '3.11' | ||
| - name: Install dependencies | ||
| run: | | ||
| python -m pip install --upgrade pip | ||
| pip install -r requirements.txt | ||
| pip install pytest pytest-cov mypy | ||
| - name: Run unit tests | ||
| run: pytest --cov=src/ --cov-report=xml | ||
| - name: Run mypy static analysis | ||
| run: mypy src/ | ||
| # This workflow has been consolidated into .github/workflows/python-test.yml. | ||
| # Left here for documentation/history. The consolidated workflow runs static analysis | ||
| # and a test matrix plus a focused deepagent test stage. |
| Original file line number | Diff line number | Diff line change | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,174 @@ | |||||||||||||||||||||||||||||
| name: Python Tests (consolidated) | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| on: | |||||||||||||||||||||||||||||
| push: | |||||||||||||||||||||||||||||
| branches: [ main ] | |||||||||||||||||||||||||||||
| pull_request: | |||||||||||||||||||||||||||||
| branches: [ main ] | |||||||||||||||||||||||||||||
| workflow_dispatch: | |||||||||||||||||||||||||||||
| inputs: | |||||||||||||||||||||||||||||
| run_providers: | |||||||||||||||||||||||||||||
| description: 'Set to true to run the providers matrix (manual run)' | |||||||||||||||||||||||||||||
| required: false | |||||||||||||||||||||||||||||
| default: 'false' | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| jobs: | |||||||||||||||||||||||||||||
| static-analysis: | |||||||||||||||||||||||||||||
| name: Static analysis & unit tests (one python) | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
| - name: Set up Python | |||||||||||||||||||||||||||||
| uses: actions/setup-python@v5 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| python-version: '3.11' | |||||||||||||||||||||||||||||
| - name: Cache pip | |||||||||||||||||||||||||||||
| uses: actions/cache@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| path: ~/.cache/pip | |||||||||||||||||||||||||||||
| key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }} | |||||||||||||||||||||||||||||
| restore-keys: | | |||||||||||||||||||||||||||||
| ${{ runner.os }}-pip- | |||||||||||||||||||||||||||||
| - name: Install dependencies for static | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install --upgrade pip | |||||||||||||||||||||||||||||
| pip install -r requirements.txt | |||||||||||||||||||||||||||||
| pip install pytest pytest-cov mypy | |||||||||||||||||||||||||||||
| - name: Run ruff (lint) | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install ruff | |||||||||||||||||||||||||||||
| python -m ruff check src/ | |||||||||||||||||||||||||||||
| - name: Run unit tests with coverage | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| PYTHONPATH=. pytest --cov=src/ --cov-report=xml | |||||||||||||||||||||||||||||
| - name: Upload coverage to Codecov | |||||||||||||||||||||||||||||
| uses: codecov/codecov-action@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| files: ./coverage.xml | |||||||||||||||||||||||||||||
| fail_ci_if_error: false | |||||||||||||||||||||||||||||
| token: ${{ secrets.CODECOV_TOKEN }} | |||||||||||||||||||||||||||||
| - name: Run mypy static analysis | |||||||||||||||||||||||||||||
| run: mypy src/ --ignore-missing-imports --exclude "src/llm/router.py" | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| tests: | |||||||||||||||||||||||||||||
| name: Run tests matrix | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
| strategy: | |||||||||||||||||||||||||||||
| matrix: | |||||||||||||||||||||||||||||
| python-version: [3.11, 3.12] | |||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
| - name: Set up Python | |||||||||||||||||||||||||||||
| uses: actions/setup-python@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| python-version: ${{ matrix.python-version }} | |||||||||||||||||||||||||||||
| - name: Cache pip | |||||||||||||||||||||||||||||
| uses: actions/cache@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| path: ~/.cache/pip | |||||||||||||||||||||||||||||
| key: ${{ runner.os }}-pip-${{ matrix.python-version }}-${{ hashFiles('**/requirements.txt') }} | |||||||||||||||||||||||||||||
| restore-keys: | | |||||||||||||||||||||||||||||
| ${{ runner.os }}-pip- | |||||||||||||||||||||||||||||
| - name: Install dependencies | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install --upgrade pip | |||||||||||||||||||||||||||||
| python -m venv .venv_ci | |||||||||||||||||||||||||||||
| . .venv_ci/bin/activate | |||||||||||||||||||||||||||||
| pip install --upgrade pip setuptools wheel | |||||||||||||||||||||||||||||
| pip install -r requirements.txt | |||||||||||||||||||||||||||||
| - name: Run tests | |||||||||||||||||||||||||||||
| env: | |||||||||||||||||||||||||||||
| PYTHONPATH: . | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pytest -q | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| deepagent-test: | |||||||||||||||||||||||||||||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 4 months ago Copilot could not generate an autofix suggestion Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support. |
|||||||||||||||||||||||||||||
| name: DeepAgent focused tests (fast) | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
| needs: tests | |||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
| - name: Set up Python | |||||||||||||||||||||||||||||
| uses: actions/setup-python@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| python-version: 3.12 | |||||||||||||||||||||||||||||
| - name: Cache pip | |||||||||||||||||||||||||||||
| uses: actions/cache@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| path: ~/.cache/pip | |||||||||||||||||||||||||||||
| key: ${{ runner.os }}-pip-3.12-${{ hashFiles('**/requirements.txt') }} | |||||||||||||||||||||||||||||
| restore-keys: | | |||||||||||||||||||||||||||||
| ${{ runner.os }}-pip- | |||||||||||||||||||||||||||||
| - name: Install test deps only | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install --upgrade pip | |||||||||||||||||||||||||||||
| python -m venv .venv_ci | |||||||||||||||||||||||||||||
| . .venv_ci/bin/activate | |||||||||||||||||||||||||||||
| pip install --upgrade pip setuptools wheel | |||||||||||||||||||||||||||||
| pip install pytest python-dotenv | |||||||||||||||||||||||||||||
| - name: Run deepagent unit tests | |||||||||||||||||||||||||||||
| env: | |||||||||||||||||||||||||||||
| PYTHONPATH: . | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pytest -q test/unit/test_deepagent.py test/unit/test_deepagent_providers.py | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| provider-smoke: | |||||||||||||||||||||||||||||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 4 months ago Copilot could not generate an autofix suggestion Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support. |
|||||||||||||||||||||||||||||
| name: Provider smoke (manual) | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
| if: github.event_name == 'workflow_dispatch' | |||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
| - name: Set up Python | |||||||||||||||||||||||||||||
| uses: actions/setup-python@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| python-version: 3.12 | |||||||||||||||||||||||||||||
| - name: Install provider packages | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install --upgrade pip | |||||||||||||||||||||||||||||
| python -m venv .venv_ci | |||||||||||||||||||||||||||||
| . .venv_ci/bin/activate | |||||||||||||||||||||||||||||
| pip install --upgrade pip setuptools wheel | |||||||||||||||||||||||||||||
| pip install langchain-google-genai langchain-community langchain-ollama python-dotenv | |||||||||||||||||||||||||||||
| - name: Cache pip for provider-smoke | |||||||||||||||||||||||||||||
| uses: actions/cache@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| path: ~/.cache/pip | |||||||||||||||||||||||||||||
| key: ${{ runner.os }}-pip-provider-smoke-${{ hashFiles('**/requirements.txt') }} | |||||||||||||||||||||||||||||
| restore-keys: | | |||||||||||||||||||||||||||||
| ${{ runner.os }}-pip- | |||||||||||||||||||||||||||||
| - name: Quick deepagent smoke (dry-run disabled) | |||||||||||||||||||||||||||||
| env: | |||||||||||||||||||||||||||||
| PYTHONPATH: . | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -c "from src.agents import deepagent; a=deepagent.SDLCFlexibleAgent(provider='gemini', model='chat-bison-001', dry_run=True); print('constructed', getattr(a, 'llm', None))" | |||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||
| providers: | |||||||||||||||||||||||||||||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
This autofix suggestion was applied.
Show autofix suggestion
Hide autofix suggestion
Copilot AutofixAI 4 months ago To fix the problem, add a Steps:
Suggested changeset
1
.github/workflows/python-test.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
|||||||||||||||||||||||||||||
| name: Providers matrix (optional) | |||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | |||||||||||||||||||||||||||||
| if: github.event_name == 'workflow_dispatch' && github.event.inputs.run_providers == 'true' | |||||||||||||||||||||||||||||
| strategy: | |||||||||||||||||||||||||||||
| matrix: | |||||||||||||||||||||||||||||
| provider: [gemini, openai, ollama] | |||||||||||||||||||||||||||||
| steps: | |||||||||||||||||||||||||||||
| - uses: actions/checkout@v4 | |||||||||||||||||||||||||||||
| - name: Cache pip | |||||||||||||||||||||||||||||
| uses: actions/cache@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| path: ~/.cache/pip | |||||||||||||||||||||||||||||
| key: ${{ runner.os }}-pip-providers-${{ matrix.provider }}-${{ hashFiles('**/requirements.txt') }} | |||||||||||||||||||||||||||||
| restore-keys: | | |||||||||||||||||||||||||||||
| ${{ runner.os }}-pip- | |||||||||||||||||||||||||||||
| - name: Set up Python | |||||||||||||||||||||||||||||
| uses: actions/setup-python@v4 | |||||||||||||||||||||||||||||
| with: | |||||||||||||||||||||||||||||
| python-version: 3.12 | |||||||||||||||||||||||||||||
| - name: Install provider packages | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -m pip install --upgrade pip | |||||||||||||||||||||||||||||
| pip install -r requirements.txt | |||||||||||||||||||||||||||||
| pip install langchain-google-genai langchain-community langchain-ollama | |||||||||||||||||||||||||||||
| - name: Run provider smoke for matrix provider | |||||||||||||||||||||||||||||
| env: | |||||||||||||||||||||||||||||
| PYTHONPATH: . | |||||||||||||||||||||||||||||
| run: | | |||||||||||||||||||||||||||||
| python -c "from src.agents import deepagent; p='${{ matrix.provider }}'; d = deepagent.SDLCFlexibleAgent(provider=p, dry_run=True); print('provider', p, 'dry_run', getattr(d, 'dry_run', False))" | |||||||||||||||||||||||||||||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 4 months ago Copilot could not generate an autofix suggestion Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support. |
|||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,30 @@ | ||||||||||||||||||||
| name: Python Tests | ||||||||||||||||||||
|
|
||||||||||||||||||||
| on: | ||||||||||||||||||||
| push: | ||||||||||||||||||||
| branches: [ main ] | ||||||||||||||||||||
| pull_request: | ||||||||||||||||||||
| branches: [ main ] | ||||||||||||||||||||
|
|
||||||||||||||||||||
| jobs: | ||||||||||||||||||||
| tests: | ||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||
| strategy: | ||||||||||||||||||||
| matrix: | ||||||||||||||||||||
| python-version: [3.12] | ||||||||||||||||||||
|
|
||||||||||||||||||||
| steps: | ||||||||||||||||||||
| - uses: actions/checkout@v4 | ||||||||||||||||||||
| - name: Set up Python | ||||||||||||||||||||
| uses: actions/setup-python@v4 | ||||||||||||||||||||
| with: | ||||||||||||||||||||
| python-version: ${{ matrix.python-version }} | ||||||||||||||||||||
| - name: Install dependencies | ||||||||||||||||||||
| run: | | ||||||||||||||||||||
| python -m pip install --upgrade pip | ||||||||||||||||||||
| pip install -r requirements.txt | ||||||||||||||||||||
| - name: Run tests | ||||||||||||||||||||
| env: | ||||||||||||||||||||
| PYTHONPATH: . | ||||||||||||||||||||
| run: | | ||||||||||||||||||||
| python -m pytest -q | ||||||||||||||||||||
Check warningCode scanning / CodeQL Workflow does not contain permissions Medium
Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Copilot AutofixAI 4 months ago To fix the problem, add a
Suggested changeset
1
.github/workflows/python-tests.yml
Copilot is powered by AI and may make mistakes. Always verify output.
Positive FeedbackNegative Feedback
Refresh and try again.
|
||||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| lib |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| home = /bin | ||
| include-system-site-packages = false | ||
| version = 3.12.3 | ||
| executable = /usr/bin/python3.12 | ||
| command = /bin/python3 -m venv /workspaces/SDLC_core/.venv |
Check warning
Code scanning / CodeQL
Workflow does not contain permissions Medium
Copilot Autofix
AI 4 months ago
Copilot could not generate an autofix suggestion
Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support.