Conversation
This commit adds a comprehensive CI/CD pipeline that runs on all pull requests and pushes to main/master branches. ## Workflow Features ### Rust Checks (Multi-OS) - Runs on Ubuntu and macOS - Checks Rust code formatting with `cargo fmt --check` - Runs Clippy linter (warnings displayed but not enforced) - Runs all Rust unit tests with `cargo test` - Uses caching for faster builds ### Elixir Tests (Matrix Testing) - Tests on multiple Elixir versions (1.17.0, 1.18.0) - Tests on multiple OTP versions (26.2, 27.0) - Tests on Ubuntu and macOS - Checks Elixir code formatting with `mix format --check-formatted` - Compiles with warnings as errors - Runs full Elixir test suite - Uses caching for Mix and Cargo dependencies ### Integration Tests - Runs comprehensive integration tests with `mix test --trace` - Ensures full project compilation works - Only runs after Rust and Elixir checks pass ### Final Gate Check - Ensures all jobs passed before merging - Provides clear status for PR reviews ## Benefits 1. **Prevents Breaking Changes**: Catches issues before they reach main 2. **Multi-Platform Testing**: Ensures code works on Linux and macOS 3. **Version Compatibility**: Tests against multiple Elixir/OTP versions 4. **Fast Feedback**: Caching makes subsequent runs much faster 5. **Clear Status**: Easy-to-read job summaries in PR checks ## Usage The workflow runs automatically on every PR. You can also: - View workflow runs in the "Actions" tab on GitHub - Re-run failed jobs from the Actions tab - See detailed logs for each step This provides a solid foundation for maintaining code quality as the project grows and accepts contributions.
ocean
added a commit
that referenced
this pull request
Jan 14, 2026
Fixes #2: DateTime type loading failure for :utc_datetime_usec - Add loaders/dumpers for :utc_datetime_usec, :naive_datetime_usec, :time_usec - Fix ArgumentError when loading ISO 8601 datetime strings with microseconds - Reuse existing datetime_decode/encode functions (already handle microseconds) - Add comprehensive test suite in test/ecto_datetime_usec_test.exs - Update CHANGELOG.md with detailed fix description - Update AGENTS.md with microsecond datetime type documentation Root cause: Missing loader/dumper definitions for _usec datetime variants. When libsql returned datetime values as ISO 8601 strings (e.g., "2026-01-14T06:09:59.081609Z"), ecto_libsql failed to load them into schemas with microsecond precision timestamp fields. Impact: Queries with timestamps() macro using @timestamps_opts [type: :utc_datetime_usec] now work correctly. Backward compatibility: Existing code using :utc_datetime and :naive_datetime (without _usec) continues to work unchanged.
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.
This commit adds a comprehensive CI/CD pipeline that runs on all pull requests and pushes to main/master branches.
Workflow Features
Rust Checks (Multi-OS)
cargo fmt --checkcargo testElixir Tests (Matrix Testing)
mix format --check-formattedIntegration Tests
mix test --traceFinal Gate Check
Benefits
Usage
The workflow runs automatically on every PR. You can also:
This provides a solid foundation for maintaining code quality as the project grows and accepts contributions.