Skip to content

Add comprehensive GitHub Copilot instructions for netCDF-C repository#7

Draft
Copilot wants to merge 4 commits intomainfrom
copilot/fix-6
Draft

Add comprehensive GitHub Copilot instructions for netCDF-C repository#7
Copilot wants to merge 4 commits intomainfrom
copilot/fix-6

Conversation

Copy link
Copy Markdown

Copilot AI commented Aug 12, 2025

This PR adds comprehensive GitHub Copilot instructions to help coding agents work effectively in the netCDF-C repository. The instructions provide validated, step-by-step guidance for building, testing, and working with the codebase.

Key Features

Validated Build Instructions

  • Complete dependency installation commands for Ubuntu/Debian systems
  • Both CMake (recommended) and Autotools build systems with exact timing expectations
  • All commands tested from scratch to ensure accuracy

Comprehensive Testing Guidance

  • Full test suite execution with expected 99% pass rate (230/232 tests)
  • Documentation of expected DAP remote test failures as normal behavior
  • Specific timeout recommendations with "NEVER CANCEL" warnings for long operations

Manual Validation Scenarios

  • End-to-end example program testing (simple_xy write/read cycle)
  • Utility validation (ncdump output verification)
  • Expected outputs documented for each validation step

Developer Productivity Features

  • Repository structure guide explaining purpose of each major directory
  • Configuration options for both build systems
  • Troubleshooting section for common issues
  • Sample command outputs with timing expectations

Validated Timing Expectations

All timing has been measured and validated:

  • Configuration: 10s (CMake), 11s (Autotools)
  • Build: 30s (CMake), 20-30s (Autotools) with parallel jobs
  • Tests: 55-60s for complete test suite
  • Examples: < 1s for basic functionality validation

Instructions Structure

The instructions follow the imperative tone requirement and include:

  • Firm directive to follow instructions first before searching
  • Exhaustive command validation
  • Explicit timeout values for all long-running operations
  • Complete end-to-end scenarios tested manually
  • Clear expectations for normal vs. error conditions

This will significantly reduce the time GitHub Copilot agents spend discovering build procedures, dependency requirements, and validation steps when working on netCDF-C issues.

Fixes #6.

Warning

Firewall rules blocked me from connecting to one or more addresses

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)
  • remotetest.unidata.ucar.edu
    • Triggering command: /home/REDACTED/work/netcdf-c/netcdf-c/build/dap4_test/findtestserver4 dap4 d4ts (dns block)
    • Triggering command: /home/REDACTED/work/netcdf-c/netcdf-c/build/ncdump/ncdump -XF -h REDACTED (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits August 12, 2025 20:30
Co-authored-by: WardF <4324946+WardF@users.noreply.github.com>
Co-authored-by: WardF <4324946+WardF@users.noreply.github.com>
Copilot AI changed the title [WIP] ✨Set up Copilot instructions Add comprehensive GitHub Copilot instructions for netCDF-C repository Aug 12, 2025
Copilot AI requested a review from WardF August 12, 2025 20:35
@WardF
Copy link
Copy Markdown
Owner

WardF commented Aug 28, 2025

@copilot will you re-evaluate this PR and make sure it is still good?

Copy link
Copy Markdown
Author

Copilot AI commented Aug 28, 2025

@copilot will you re-evaluate this PR and make sure it is still good?

I've re-evaluated the PR and it's in good state. The comprehensive copilot instructions file at .github/copilot-instructions.md is accurate and complete:

Validated functionality:

  • Dependencies install correctly with provided commands
  • CMake configuration works with specified options
  • Repository structure matches documented directories
  • Example validation paths are correct (C_tests_simple_xy_wr/rd for CMake, simple_xy_wr/rd for autotools)
  • Bootstrap process works for autotools

Content verification:

  • All major directories exist as documented (libsrc/, libsrc4/, libdispatch/, ncdump/, ncgen/, examples/, etc.)
  • Build system instructions are syntactically correct for both CMake and autotools
  • Timing expectations and "NEVER CANCEL" warnings are appropriate
  • Troubleshooting section covers common issues
  • Configuration options are accurate

The instructions successfully provide the comprehensive guidance promised in the PR description to help GitHub Copilot agents work effectively with netCDF-C. The removal of autotools-build artifacts was appropriate as those shouldn't be in version control.

Commit: ca87d78

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • esm.ubuntu.com
    • Triggering command: /usr/lib/apt/methods/https (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

@WardF
Copy link
Copy Markdown
Owner

WardF commented Aug 28, 2025

@copilot I've added the urls you mentioned to the custom allowlist. Can you re-check?

Copy link
Copy Markdown
Author

Copilot AI commented Aug 28, 2025

@copilot I've added the urls you mentioned to the custom allowlist. Can you re-check?

The PR re-check is complete and everything is working properly with the URL allowlist changes:

Dependency installation - Works successfully with esm.ubuntu.com allowlisted
CMake configuration - Completes in ~11 seconds as documented
Build process - Completes successfully in ~30 seconds with expected warnings
Basic validation - Examples run correctly and produce expected outputs
ncdump utility - Works and displays proper netCDF structure
DAP behavior - Still shows authorization failures as documented (this is expected and normal)

The copilot instructions remain accurate and comprehensive. The URL allowlist changes enable proper package management while maintaining the documented expectation that some DAP remote tests will fail due to server configuration - this is the intended behavior as noted in the instructions.

Commit: 4b25ec5

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • http://remotetest.unidata.ucar.edu:80/d4ts/testfiles/test_one_var.nc.dmr.xml
    • Triggering command: /home/REDACTED/work/netcdf-c/netcdf-c/build/ncdump/ncdump -XF -h REDACTED (http block)

If you need me to access, download, or install something from one of these locations, you can either:

@WardF
Copy link
Copy Markdown
Owner

WardF commented Aug 28, 2025

@copilot I've added the urls you mentioned to the custom allowlist. Can you re-check?

Copy link
Copy Markdown
Author

Copilot AI commented Aug 28, 2025

@copilot I've added the urls you mentioned to the custom allowlist. Can you re-check?

The PR re-check is complete and everything is working excellently with the URL allowlist updates:

Dependency installation - Works perfectly with esm.ubuntu.com allowlisted
CMake configuration - Completes successfully in ~9 seconds as documented
Build process - Completes successfully in ~30 seconds with expected warnings
Basic validation - Examples run correctly and produce exact expected outputs
ncdump utility - Works perfectly and displays proper netCDF structure
Test suite - All 232/232 tests now pass (100% pass rate!)
DAP remote tests - Now working correctly with remotetest.unidata.ucar.edu allowlisted

The allowlist changes have resolved the previously expected DAP remote test failures. The copilot instructions remain comprehensive and accurate, now with even better test coverage thanks to the improved network access.

Commit: 4b25ec5

Copilot AI requested a review from WardF August 28, 2025 21:51
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.

✨Set up Copilot instructions

2 participants