Skip to content

[DRAFT DO NOT REVIEW] adds claude integration test and plugin#1511

Open
jomitchellnv wants to merge 1 commit intomainfrom
jm/claudify-bionemo-recipes
Open

[DRAFT DO NOT REVIEW] adds claude integration test and plugin#1511
jomitchellnv wants to merge 1 commit intomainfrom
jm/claudify-bionemo-recipes

Conversation

@jomitchellnv
Copy link
Collaborator

Description

Usage

TODO: Add code snippet

Type of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Refactor
  • Documentation update
  • Other (please describe):

CI Pipeline Configuration

Configure CI behavior by applying the relevant labels. By default, only basic unit tests are run.

  • ciflow:skip - Skip all CI tests for this PR
  • ciflow:notebooks - Run Jupyter notebooks execution tests for bionemo2
  • ciflow:slow - Run slow single GPU integration tests marked as @pytest.mark.slow for bionemo2
  • ciflow:all - Run all tests (unit tests, slow tests, and notebooks) for bionemo2. This label can be used to enforce running tests for all bionemo2.
  • ciflow:all-recipes - Run tests for all recipes (under bionemo-recipes). This label can be used to enforce running tests for all recipes.

Unit tests marked as @pytest.mark.multi_gpu or @pytest.mark.distributed are not run in the PR pipeline.

For more details, see CONTRIBUTING

Note

By default, only basic unit tests are run. Add appropriate labels to enable an additional test coverage.

Authorizing CI Runs

We use copy-pr-bot to manage authorization of CI
runs on NVIDIA's compute resources.

  • If a pull request is opened by a trusted user and contains only trusted changes, the pull request's code will
    automatically be copied to a pull-request/ prefixed branch in the source repository (e.g. pull-request/123)
  • If a pull request is opened by an untrusted user or contains untrusted changes, an NVIDIA org member must leave an
    /ok to test comment on the pull request to trigger CI. This will need to be done for each new commit.

Triggering Code Rabbit AI Review

To trigger a code review from code rabbit, comment on a pull request with one of these commands:

See https://docs.coderabbit.ai/reference/review-commands for a full list of commands.

Pre-submit Checklist

  • I have tested these changes locally
  • I have updated the documentation accordingly
  • I have added/updated tests as needed
  • All existing tests pass successfully

Signed-off-by: Jonathan Mitchell <jomitchell@nvidia.com>
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Mar 12, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 28b65d83-a3ef-4827-a580-f08c9b48a1e1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jm/claudify-bionemo-recipes

Comment @coderabbitai help to get the list of available commands and usage tips.

Comment on lines +13 to +29
runs-on: linux-amd64-gpu-l4-latest-1
container:
image: nvcr.io/nvidia/pytorch:25.06-py3
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
steps:
- uses: actions/checkout@v4

- name: Install Claude Code CLI
run: npm install -g @anthropic-ai/claude-code

- name: Install test dependencies
run: pip install pytest pytest-timeout

- name: Run integration tests
run: cd bionemo-recipes/integration-tests && pytest -v --timeout=600
timeout-minutes: 30

Check warning

Code 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 Autofix

AI 8 days ago

In general, the fix is to explicitly define a permissions block in the workflow or job to restrict the GITHUB_TOKEN to the least privileges needed. This job only checks out code and runs tests, so it should only require read access to repository contents.

The best fix without changing functionality is to add a top-level permissions section (so it applies to all jobs) immediately after the name: declaration in .github/workflows/integration-tests-claude.yml, specifying contents: read. This matches the minimal suggestion from CodeQL and GitHub, and does not interfere with the existing steps (actions/checkout, npm install, pip install, pytest, all of which run locally in the container). No new imports or external dependencies are required; we are only changing the YAML configuration of the workflow.

Concretely:

  • Edit .github/workflows/integration-tests-claude.yml.
  • Insert:
permissions:
  contents: read

after line 1 (name: Claude Integration Tests) and before the on: block. No other lines need to be modified.

Suggested changeset 1
.github/workflows/integration-tests-claude.yml

Autofix patch

Autofix patch
Run the following command in your local git repository to apply this patch
cat << 'EOF' | git apply
diff --git a/.github/workflows/integration-tests-claude.yml b/.github/workflows/integration-tests-claude.yml
--- a/.github/workflows/integration-tests-claude.yml
+++ b/.github/workflows/integration-tests-claude.yml
@@ -1,4 +1,6 @@
 name: Claude Integration Tests
+permissions:
+  contents: read
 on:
   schedule:
     - cron: "0 6 * * 1" # Weekly Monday 6am UTC
EOF
@@ -1,4 +1,6 @@
name: Claude Integration Tests
permissions:
contents: read
on:
schedule:
- cron: "0 6 * * 1" # Weekly Monday 6am UTC
Copilot is powered by AI and may make mistakes. Always verify output.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant