Conversation
There was a problem hiding this comment.
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
.blueprintignoreparsing/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.
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.
No description provided.