Skip to content

Feat/cli-issue-410#462

Open
Arome8240 wants to merge 28 commits intodotandev:mainfrom
Arome8240:feat/cli-issue-194
Open

Feat/cli-issue-410#462
Arome8240 wants to merge 28 commits intodotandev:mainfrom
Arome8240:feat/cli-issue-194

Conversation

@Arome8240
Copy link

fixes #410

- Add canonical JSON serialization to ensure deterministic hashing
- Implement marshalCanonical function with sorted object keys
- Update Generate and Verify functions to use canonical JSON
- Add comprehensive test suite for canonical JSON behavior
- Add cross-platform determinism tests
- Add documentation explaining canonical JSON implementation
- Add example demonstrating canonical JSON usage
- Ensure hash consistency across different OS targets

Resolves dotandev#178
- Added canonical JSON serialization to ensure deterministic hashing across platforms.
- Updated audit and verification functions to utilize canonical JSON.
- Created comprehensive tests for canonical JSON functionality and determinism.
- Added documentation for canonical JSON serialization.
- Included a demo application to illustrate usage and benefits of canonical JSON.
- Add GitHub Actions workflow for multi-arch Docker builds (amd64, arm64)
- Configure Docker Buildx for cross-platform compilation
- Update Dockerfile with multi-platform build arguments
- Add QEMU support for ARM64 emulation
- Implement automated image testing for both architectures
- Add build caching to improve CI performance
- Generate build attestations for security
- Create .dockerignore to optimize build context
- Add docker-compose.yml for local development
- Update Makefile with Docker build targets
- Add comprehensive Docker documentation
- Create test script for local Docker verification
- Update README with Docker installation instructions
- Publish images to GitHub Container Registry
- Support version tagging and latest tag

Resolves dotandev#206
- Add GitHub Actions workflow for multi-arch Docker builds (amd64, arm64)
- Configure Docker Buildx for cross-platform compilation
- Update Dockerfile with multi-platform build arguments
- Add QEMU support for ARM64 emulation
- Implement automated image testing for both architectures
- Add build caching to improve CI performance
- Generate build attestations for security
- Create .dockerignore to optimize build context
- Add docker-compose.yml for local development
- Update Makefile with Docker build targets
- Add comprehensive Docker documentation
- Create test script for local Docker verification
- Update README with Docker installation instructions
- Publish images to GitHub Container Registry
- Support version tagging and latest tag
@dotandev
Copy link
Owner

fix conflicts, please

- Consolidate duplicate .PHONY declarations into single organized groups
- Add missing fmt, fmt-go, fmt-rust, and pre-commit targets to .PHONY
- Reorganize targets by category: build/test, validation, benchmarking, docker, and formatting
- Remove redundant target declarations to improve maintainability
- Add fmt target to run Go and Rust formatting
- Add fmt-go target to format Go code with go fmt and gofmt
- Add fmt-rust target to format Rust code in simulator with cargo fmt
- Add pre-commit target to run formatting and linting checks
- Consolidate code quality checks into a single pre-commit workflow
- Add LOGGING_IMPLEMENTATION_SUMMARY.md for implementation documentation
- Consolidate and reorganize .PHONY target declarations for clarity
- Add new Rust-specific lint and build targets (rust-lint, rust-lint-strict, rust-test, rust-build)
- Add lint-all-strict target for comprehensive linting validation
- Remove validate-errors and bench-profile from primary phony declarations
- Improve Makefile maintainability by grouping related targets
- Remove redundant docker-build phony target declaration from .PHONY list
- Consolidate phony target declarations for improved maintainability
- Align with existing target organization patterns
- Document unified logging system design and architecture
- Include log level hierarchy (trace, debug, info, warn, error)
- Detail Go logger enhancements with LevelTrace constant
- Explain Rust log integration via stderr capture and forwarding
- Provide usage examples for CLI flags and environment variables
- Document log level mapping between Go and Rust components
- Include output format examples (text and JSON)
- List all modified files with specific changes
- Document test coverage and verification procedures
- Add technical implementation details for both languages
- Include troubleshooting guide and best practices
- Provide integration examples for Docker, Systemd, and Kubernetes
- Remove unnecessary blank line before cargo build command in step 3
- Improve formatting consistency in build instructions
…blocks

- Add blank line before first code block in dependencies section
- Add blank line after dependencies code block
- Add blank line before Rust simulator build code block
- Improve readability by ensuring consistent spacing around all code blocks
…ve error handling

- Add Validator field to Runner struct for request validation
- Add MockTime field to override ledger timestamp in simulation requests
- Implement NewRunnerWithMockTime constructor for timestamp mocking
- Add three helper functions to resolve config from request or environment:
* getSandboxNativeTokenCap for native token cap (stroops)
* getSimulatorMemoryLimit for memory ceiling (bytes)
* getSimulatorCoverageLCOVPath for coverage output path
- Add request validation and sandbox native token cap enforcement in Run method
- Replace fmt.Errorf calls with custom error wrappers (WrapSimulatorNotFound, WrapMarshalFailed, WrapSimCrash, WrapUnmarshalFailed)
- Simplify stderr handling by capturing to buffer instead of real-time streaming
- Improve Windows executable detection with platform-specific logic
- Update imports to include runtime, strconv, errors, and ipc packages
- Remove unused imports (bufio, fmt, strings)
- Enhance error classification for simulator responses using ipc.Error.ToErstError()
@Arome8240
Copy link
Author

fixed @dotandev

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.

[CLI] Add --log-level=debug|trace spanning both Go and Rust #194

2 participants