Add faker strategy backed by the fake crate#39
Merged
Conversation
Replace built-in email, name, first_name, and last_name strategies with strategy = "faker" plus faker = "module::Type" paths backed by the Rust fake crate. Legacy strategy names still load via normalize_anonymizer_spec. Add src/faker_dispatch.rs as the single extension surface for supported generators, with config validation and README/example updates. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
- Revert incomplete RawAnonymizerSpec/RawColumnCase references so config deserializes again. - Validation error and docs: config never executes user Rust; faker values are string keys for built-in generators only. - Module docs: allowlist wording instead of implying config extension. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
Replace removed 'name' strategy with faker + name::Name in the mdBook configuration template. Update policy-lint docs to describe inconsistent-domain-strategy without referencing removed strategies. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
ac60f5d to
8d0532a
Compare
- sql tests: string/phone specs must use faker/format = None (not SafeEmail). - scan: keep portable Luhn check; allow unknown clippy::manual_is_multiple_of so 1.95 CI stays warning-free while 1.83 MSRV avoids unstable is_multiple_of. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
- pipeline_anonymizes_nested_json_paths: add faker/format None. - lookup_json_path_rules_for_column: use sort_by_key(Reverse(len)) for clippy::unnecessary_sort_by on Rust 1.95. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
pipeline_filters_rows and column_cases_first_match_wins had faker set on date_fuzz and hash rules; validation rejects faker unless strategy=faker. Use faker/format None so configs match production rules. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
Add explicit docs.rs (crate + faker module), crates.io, and GitHub links in README, mdBook configuration guide, .dumplingconf.example, AGENTS.md, faker_dispatch module docs, AnonymizerSpec comment, and validation error. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
upload-pages-artifact + pages:write fails on many fork PRs. Build mdBook on all triggers; use upload-pages-artifact only on main push; use upload-artifact on pull requests. Move pages/id-token permissions to the deploy job only. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
- rust-toolchain.toml: stable + rustfmt + clippy (matches CI components). - scripts/setup-dev.sh: rustup components, cargo fetch, pinned mdBook to .tools/ (MDBOOK_VERSION, default 0.4.52). - .gitignore: .tools/ for vendored mdbook binary. - AGENTS.md, CONTRIBUTING.md, docs: document one-shot setup. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
- docs.yml: push to main only; build + upload-pages-artifact + deploy (no PRs). - docs-pr.yml: pull_request only; mdbook build verify (no Pages/upload). deploy-pages must consume the artifact from the same workflow run, so PR checks use a separate workflow. Update docs index wording. Co-authored-by: Andy Babic <ababic@users.noreply.github.com>
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.
Additional CI fix (run 25257045604)
E0063inpipeline_anonymizes_nested_json_paths—AnonymizerSpecforpayload.profile.secretwas missingfaker/format; addedNonefor both.clippy::unnecessary_sort_by—lookup_json_path_rules_for_columninsettings.rsnow usessort_by_key(|(path, _)| Reverse(path.len()))instead ofsort_by(Rust 1.95 clippy).Pushed as
324329a. Local:cargo fmt,cargo clippy --all-targets --all-features,cargo test --all-targets --all-featuresall pass.Slack Thread