Add editorconfig, PR/issue templates, and a vcrpy integration test - #585
Merged
Conversation
) Scaffolding metpo was missing versus the BBOP github-repo-skill standard: - .editorconfig adopted from ai4curation/github-ai-integrations, plus a Makefile tabs rule and a TSV whitespace rule for ROBOT templates. - PR template and issue templates (bug_report, term_request, chooser config) encoding our posting norms: say why not what, keep bodies short, long logs in <details> or turbomam/issue-attachments. - Integration test for assess-ontology-by-api-search: exercises the real OLS4 search endpoint through a recorded vcrpy cassette so CI replays with no network. Marked 'integration' (deselect with -m 'not integration'); registers the marker and adds vcrpy to the test extra. OLS4 only; BioPortal needs a key. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Adds repository scaffolding (editor config + GitHub templates) and introduces a deterministic integration test that exercises the real OLS4 API via a recorded vcrpy cassette, aligning with the Issue #583 checklist.
Changes:
- Add
.editorconfigto standardize formatting while preserving Makefile tabs and ROBOT TSV whitespace. - Add PR template and GitHub issue templates (bug report + term/modeling request + chooser config).
- Add an integration test for
assess-ontology-by-api-searchusing vcrpy, plus pytest marker registration and dependency updates.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
.editorconfig |
Establishes cross-editor formatting rules with exceptions for Makefiles and TSV templates. |
.github/pull_request_template.md |
Adds a lightweight PR template emphasizing “why” and reviewer notes. |
.github/ISSUE_TEMPLATE/bug_report.md |
Adds a structured bug report template with brevity guidance. |
.github/ISSUE_TEMPLATE/term_request.md |
Adds a structured term/modeling request template. |
.github/ISSUE_TEMPLATE/config.yml |
Configures issue template chooser and a contributing-guide link. |
pyproject.toml |
Adds vcrpy to the test extra and registers the integration pytest marker. |
uv.lock |
Locks vcrpy and updates the test extra resolution accordingly. |
tests/test_assess_ontology_integration.py |
Adds an OLS4 integration test that replays from a vcrpy cassette. |
tests/cassettes/ols_search_mesophilic.yaml |
Adds the recorded OLS4 search cassette used by the integration test. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
record_mode 'once' only records when the cassette is absent, so the documented VCR_RECORD=1 re-record command would not refresh an existing cassette. Use 'all' when VCR_RECORD is set so it overwrites; still 'none' (replay-only) in CI. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Addresses
the
.editorconfig, template, and integration-test items. The heavier items on that checklist (AGENTS.md/.claudedrop-in, Claude CI workflows, justfile, spell/yaml lint, zenodo/citation, mkdocs) stay open..editorconfig: adopted fromai4curation/github-ai-integrations, with a Makefile tabs rule and a TSV whitespace rule so ROBOT templates are left untouched.bug_report,term_request, chooserconfig.yml) that encode our posting norms: say why not what, keep bodies short, put long logs in a<details>block orturbomam/issue-attachments.assess-ontology-by-api-search: exercises the real OLS4 search endpoint through a recorded vcrpy cassette, so CI replays deterministically with no network. Markedintegration(deselect with-m 'not integration'). Registers theintegrationmarker in[tool.pytest.ini_options]and addsvcrpyto thetestextra. BioPortal needs an API key, so only OLS4 is covered here; re-record withVCR_RECORD=1 uv run pytest tests/test_assess_ontology_integration.py.Verified: full
pytest(39 pass; the integration test replays offline in 0.2s),-m 'not integration'deselects cleanly,ruff check,ruff format --check, import check.