Skip to content

feat: support .blueprintignore#37

Merged
kulti merged 2 commits intov3from
bp-ignore
Apr 17, 2026
Merged

feat: support .blueprintignore#37
kulti merged 2 commits intov3from
bp-ignore

Conversation

@kulti
Copy link
Copy Markdown
Collaborator

@kulti kulti commented Apr 16, 2026

No description provided.

@kulti kulti changed the title Bp ignore feat: support .blueprintignore Apr 16, 2026
@kulti kulti requested a review from Copilot April 16, 2026 10:02
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds .blueprintignore support to blueprint directory zipping, while migrating the CLI from urfave/cli/v2 to urfave/cli/v3 and updating golden test fixtures accordingly.

Changes:

  • Implement .blueprintignore parsing/matching and exclude ignored paths (and the ignore file itself) from zipped blueprint payloads.
  • Migrate command wiring/flags/help generation to github.com/urfave/cli/v3 (root command, action/before signatures, env var sources, etc.).
  • Update test harness and golden fixtures (binary HTTP bodies now recorded as base64: strings) and add a new http_req_resp scenario covering .blueprintignore.

Reviewed changes

Copilot reviewed 116 out of 118 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
internal/app/enaptercli/testdata/http_req_resp/device_change_blueprint_by_path/req_0 Updates golden request body representation to base64: for binary zip payload.
internal/app/enaptercli/testdata/http_req_resp/blueprint_upload_with_blueprintignore/resp_0 Adds golden response fixture for blueprint upload with ignore rules.
internal/app/enaptercli/testdata/http_req_resp/blueprint_upload_with_blueprintignore/req_0 Adds golden request fixture validating ignored files aren’t included in the zip.
internal/app/enaptercli/testdata/http_req_resp/blueprint_upload_with_blueprintignore/out Adds expected CLI output for the new http_req_resp scenario.
internal/app/enaptercli/testdata/http_req_resp/blueprint_upload_with_blueprintignore/cmd.tmpl Adds commands to exercise blueprint upload using a directory with .blueprintignore.
internal/app/enaptercli/testdata/helps/enapter Updates golden root help output for cli/v3 formatting and command name.
internal/app/enaptercli/testdata/helps/enapter blueprint Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter blueprint upload Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter blueprint download Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter blueprint get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter blueprint profiles Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter blueprint profiles upload Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter blueprint profiles download Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter connection Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter connection add Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter connection list Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter connection remove Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter connection set-default Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter site Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter site list Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter site get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter device create Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter device create standalone Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device create lua-device Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device list Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device update Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device delete Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device logs Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device telemetry Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device monitor Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device run-terminal Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device command Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter device command execute Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device command list Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device command get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device communication-config Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter device communication-config generate Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter device change-blueprint Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter rule-engine get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine suspend Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine resume Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule Updates golden help output for cli/v3 formatting.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule create Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule delete Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule enable Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule disable Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule get Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule list Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule logs Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule update Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/helps/enapter rule-engine rule update-script Updates golden help output for cli/v3 formatting/flag typing.
internal/app/enaptercli/testdata/blueprints/with_ignore/manifest.yml Adds blueprint test data used by ignore/zipping tests.
internal/app/enaptercli/testdata/blueprints/with_ignore/firmware.lua Adds blueprint test data used by ignore/zipping tests.
internal/app/enaptercli/testdata/blueprints/with_ignore/debug.log Adds ignored file to validate .blueprintignore rules.
internal/app/enaptercli/testdata/blueprints/with_ignore/build/output.bin Adds ignored file under ignored directory to validate .blueprintignore rules.
internal/app/enaptercli/testdata/blueprints/with_ignore/.blueprintignore Adds ignore rules used by the new blueprint upload test.
internal/app/enaptercli/execute_test.go Encodes non-UTF8 HTTP bodies as base64: in fixtures.
internal/app/enaptercli/execute.go Adds .blueprintignore loading/matching and migrates root CLI to cli/v3.
internal/app/enaptercli/cmd_site.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_site_list.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_site_get.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_rule_engine_get.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_suspend.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_resume.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_rule.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_rule_engine_rule_create.go Migrates action and flag validation hook signatures to cli/v3.
internal/app/enaptercli/cmd_rule_engine_rule_delete.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_rule_enable.go Migrates to cli/v3 and updates multi-value flag implementation.
internal/app/enaptercli/cmd_rule_engine_rule_disable.go Migrates to cli/v3 and updates multi-value flag implementation.
internal/app/enaptercli/cmd_rule_engine_rule_get.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_rule_list.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_rule_engine_rule_logs.go Migrates action signature to cli/v3 and adjusts context wiring.
internal/app/enaptercli/cmd_rule_engine_rule_update.go Migrates action signature and IsSet access to cli/v3 command object.
internal/app/enaptercli/cmd_rule_engine_rule_update_script.go Migrates action and flag validation hook signatures to cli/v3.
internal/app/enaptercli/cmd_device.go Migrates to cli/v3 and updates expand validation helper signature.
internal/app/enaptercli/cmd_device_create.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_device_create_standalone.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_create_lua_device.go Migrates action/before signatures to cli/v3.
internal/app/enaptercli/cmd_device_list.go Migrates before/action signatures and expand flag type to cli/v3.
internal/app/enaptercli/cmd_device_get.go Migrates before/action signatures and expand flag type to cli/v3.
internal/app/enaptercli/cmd_device_update.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_delete.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_logs.go Migrates timestamp flags and validation hooks to cli/v3.
internal/app/enaptercli/cmd_device_telemetry.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_monitor.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_run_terminal.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_command.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_device_command_execute.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_command_list.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_command_get.go Migrates before/action signatures and expand flag type to cli/v3.
internal/app/enaptercli/cmd_device_communication_config.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_device_communication_config_generate.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_device_change_blueprint.go Migrates before/action signatures and expand validation to cli/v3.
internal/app/enaptercli/cmd_connection.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_connection_add.go Migrates action signature to cli/v3 and adjusts version/user-agent access.
internal/app/enaptercli/cmd_connection_remove.go Migrates action signature and writers to cli/v3 root command.
internal/app/enaptercli/cmd_connection_list.go Migrates action signature and writers to cli/v3 root command.
internal/app/enaptercli/cmd_connection_set_default.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_blueprint.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_blueprint_upload.go Migrates action signature to cli/v3 and exercises updated zipping logic.
internal/app/enaptercli/cmd_blueprint_download.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_blueprint_get.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_blueprint_profiles.go Migrates to cli/v3 and updates subcommand registration field.
internal/app/enaptercli/cmd_blueprint_profiles_upload.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_blueprint_profiles_download.go Migrates action signature to cli/v3.
internal/app/enaptercli/cmd_base.go Migrates shared flags/before hook to cli/v3 (env sources, writers, expand validation).
internal/app/enaptercli/cmd_base_pagination.go Migrates pagination helper to cli/v3.
internal/app/enaptercli/app_test.go Migrates app harness to cli/v3 root command execution model.
internal/app/cliflags/duration.go Migrates duration flag wrapper to cli/v3.
cmd/enapter/main.go Switches entrypoint to cli/v3 root command and updates version printer signature.
go.mod Bumps dependencies (cli/v3, testify) and adds go-git for gitignore parsing.
go.sum Updates sums for new/updated dependencies.
bp/manifest.yml Adds blueprint example content.
bp/firmware.lua Adds blueprint example content.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread internal/app/enaptercli/execute.go
@kulti kulti merged commit 3867a3f into v3 Apr 17, 2026
2 checks passed
@kulti kulti deleted the bp-ignore branch April 17, 2026 13:37
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.

2 participants