Skip to content

joker: Modernize record conversion - #4559

Merged
TomOnTime merged 4 commits into
release_candidate_v5from
mod_joker
Jul 24, 2026
Merged

joker: Modernize record conversion#4559
TomOnTime merged 4 commits into
release_candidate_v5from
mod_joker

Conversation

@TomOnTime

Copy link
Copy Markdown
Collaborator

Dear @atrull. I could use your help. I'm doing upgrades to the code base and I have no way to test your provider. Please run the integration test and let me know the result. How to run integration tests is here: https://docs.dnscontrol.org/developer-info/integration-tests

Summary

  • route Joker's bespoke zone-line parsing through current record factories
  • preserve record-specific field extraction and TTL behavior
  • retain the existing comprehensive parser regression suite

Validation

  • ../../bin/is_modern.sh (Steps 1-7 clean)
  • go test ./providers/joker
  • bin/generate-all.sh
  • go test ./...

@TomOnTime

Copy link
Copy Markdown
Collaborator Author

Dear @atrull, GitHub could not add you as a reviewer, so I sent you an invitation for triage access to this repository. Please accept the invitation when convenient, then take a look at this PR and run the provider integration test. Thank you!

@TomOnTime
TomOnTime marked this pull request as ready for review July 23, 2026 05:52
@atrull

atrull commented Jul 23, 2026

Copy link
Copy Markdown
Collaborator

Hi @TomOnTime I'll try to get to it this week. Thanks for reaching out.

@atrull

atrull commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Dear @atrull, GitHub could not add you as a reviewer, so I sent you an invitation for triage access to this repository. Please accept the invitation when convenient, then take a look at this PR and run the provider integration test. Thank you!

Hi @TomOnTime

I ran:

integrationTest % go test -v -args -verbose -profile JOKER

everything passed/skipped bar:

    --- FAIL: TestDNSProviders/domain.com/112:final:final (0.16s)

Here's the full log of that:

--- FAIL: TestDNSProviders (182.26s)
--- FAIL: TestDNSProviders/domain.com (181.38s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty (0.37s)
--- PASS: TestDNSProviders/domain.com/00:A:Create_A (1.43s)
--- PASS: TestDNSProviders/domain.com/00:A:Change_A_target (0.81s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#01 (0.18s)
--- PASS: TestDNSProviders/domain.com/01:Apex:Create_A (1.43s)
--- PASS: TestDNSProviders/domain.com/01:Apex:Change_A_target (1.10s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#02 (0.17s)
--- PASS: TestDNSProviders/domain.com/02:Protocol-Wildcard:Create_wildcard (0.89s)
--- PASS: TestDNSProviders/domain.com/02:Protocol-Wildcard:Delete_wildcard (1.05s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#03 (0.18s)
--- PASS: TestDNSProviders/domain.com/03:AAAA:Create_AAAA (0.84s)
--- PASS: TestDNSProviders/domain.com/03:AAAA:Change_AAAA_target (1.15s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#04 (0.17s)
--- PASS: TestDNSProviders/domain.com/04:CNAME:Create_a_CNAME (0.91s)
--- PASS: TestDNSProviders/domain.com/04:CNAME:Change_CNAME_target (0.81s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#05 (0.18s)
--- PASS: TestDNSProviders/domain.com/05:CNAME-short:Create_a_CNAME (1.19s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#06 (0.16s)
--- PASS: TestDNSProviders/domain.com/06:MX:Create_MX_apex (0.80s)
--- PASS: TestDNSProviders/domain.com/06:MX:Change_MX_apex (0.88s)
--- PASS: TestDNSProviders/domain.com/06:MX:Create_MX (0.68s)
--- PASS: TestDNSProviders/domain.com/06:MX:Change_MX_target (1.01s)
--- PASS: TestDNSProviders/domain.com/06:MX:Change_MX_p (0.71s)
--- SKIP: TestDNSProviders/domain.com/07:RP_SKIPPED(CanUseRP_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/08:RP_SKIPPED(CanUseRP_not_supported):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#07 (0.16s)
--- PASS: TestDNSProviders/domain.com/09:TXT:Create_TXT (1.16s)
--- PASS: TestDNSProviders/domain.com/09:TXT:Change_TXT_target (0.76s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#08 (0.31s)
--- PASS: TestDNSProviders/domain.com/10:ManyAtOnce:CreateManyAtLabel (1.09s)
--- PASS: TestDNSProviders/domain.com/10:ManyAtOnce:Empty (0.21s)
--- PASS: TestDNSProviders/domain.com/10:ManyAtOnce:Create_an_A_record (0.86s)
--- PASS: TestDNSProviders/domain.com/10:ManyAtOnce:Add_at_label1 (1.05s)
--- PASS: TestDNSProviders/domain.com/10:ManyAtOnce:Add_at_label2 (1.42s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#09 (0.18s)
--- PASS: TestDNSProviders/domain.com/11:manyTypesAtOnce:CreateManyTypesAtLabel (1.04s)
--- PASS: TestDNSProviders/domain.com/11:manyTypesAtOnce:Empty (0.17s)
--- PASS: TestDNSProviders/domain.com/11:manyTypesAtOnce:Create_an_A_record (0.86s)
--- PASS: TestDNSProviders/domain.com/11:manyTypesAtOnce:Add_Type_At_Label (0.79s)
--- PASS: TestDNSProviders/domain.com/11:manyTypesAtOnce:Add_Type_At_Label#01 (1.14s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#10 (0.19s)
--- PASS: TestDNSProviders/domain.com/12:Attl:Create_Arc (1.38s)
--- PASS: TestDNSProviders/domain.com/12:Attl:Change_TTL (2.07s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#11 (0.18s)
--- PASS: TestDNSProviders/domain.com/13:TTL:Start (0.81s)
--- PASS: TestDNSProviders/domain.com/13:TTL:Change_a_ttl (0.81s)
--- PASS: TestDNSProviders/domain.com/13:TTL:Change_single_target_from_set (0.95s)
--- PASS: TestDNSProviders/domain.com/13:TTL:Change_all_ttls (0.96s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#12 (0.17s)
--- PASS: TestDNSProviders/domain.com/14:add_to_label_and_change_orig_ttl:Setup (0.80s)
--- PASS: TestDNSProviders/domain.com/14:add_to_label_and_change_orig_ttl:Add_at_same_label,new_ttl (1.32s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#13 (0.16s)
--- PASS: TestDNSProviders/domain.com/15:TypeChange:Create_A (0.73s)
--- PASS: TestDNSProviders/domain.com/15:TypeChange:Change_to_MX (0.74s)
--- PASS: TestDNSProviders/domain.com/15:TypeChange:Change_back_to_A (0.92s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#14 (0.18s)
--- PASS: TestDNSProviders/domain.com/16:TypeChangeHard:Create_a_CNAME (0.83s)
--- PASS: TestDNSProviders/domain.com/16:TypeChangeHard:Change_to_A_record (0.90s)
--- PASS: TestDNSProviders/domain.com/16:TypeChangeHard:Change_back_to_CNAME (1.04s)
--- SKIP: TestDNSProviders/domain.com/17:HTTPS
SKIPPED(CanUseHTTPS_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/18:HTTPS-Ech_SKIPPED(CanUseHTTPS_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/19:SVCB_SKIPPED(CanUseSVCB_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/20:SVCB-Ech_SKIPPED(CanUseSVCB_not_supported):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#15 (0.17s)
--- PASS: TestDNSProviders/domain.com/21:CNAME:Record_pointing_to_@ (1.09s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#16 (0.17s)
--- PASS: TestDNSProviders/domain.com/22:ApexMX:Record_pointing_to_@ (0.73s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#17 (0.18s)
--- PASS: TestDNSProviders/domain.com/23:NullMX:create (0.84s)
--- PASS: TestDNSProviders/domain.com/23:NullMX:unnull (0.88s)
--- PASS: TestDNSProviders/domain.com/23:NullMX:renull (0.75s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#18 (0.16s)
--- PASS: TestDNSProviders/domain.com/24:NullMXApex:create (1.11s)
--- PASS: TestDNSProviders/domain.com/24:NullMXApex:unnull (1.62s)
--- PASS: TestDNSProviders/domain.com/24:NullMXApex:renull (1.37s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#19 (0.17s)
--- PASS: TestDNSProviders/domain.com/25:NS:NS_for_subdomain (1.13s)
--- PASS: TestDNSProviders/domain.com/25:NS:Dual_NS_for_subdomain (0.83s)
--- PASS: TestDNSProviders/domain.com/25:NS:NS_Record_pointing_to_@ (0.98s)
--- SKIP: TestDNSProviders/domain.com/26:NS_only_APEX_SKIPPED(excluded_by_not("JOKER")):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#20 (0.16s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_0-byte_TXT (1.11s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_254-byte_TXT (0.73s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_255-byte_TXT (0.81s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_256-byte_TXT (0.75s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_509-byte_TXT (0.81s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_510-byte_TXT (1.07s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_511-byte_TXT (0.76s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_764-byte_TXT (0.74s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_765-byte_TXT (1.29s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:a_766-byte_TXT (1.00s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_1_single-quote (0.75s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_1_backtick (0.83s)
--- SKIP: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_1_dq-1interior (0.00s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_2_dq-2interior (0.84s)
--- SKIP: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_1_dq-left (0.00s)
--- SKIP: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_1_dq-right (0.00s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_semicolon (0.83s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_with_semicolon_ws (1.21s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:TXT_interior_ws (0.91s)
--- SKIP: TestDNSProviders/domain.com/27:complex_TXT:TXT_trailing_ws (0.00s)
--- PASS: TestDNSProviders/domain.com/27:complex_TXT:Create_a_TXT/SPF (1.12s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#21 (0.24s)
--- SKIP: TestDNSProviders/domain.com/28:TXT_backslashes:TXT_with_backslashs (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#22 (0.18s)
--- PASS: TestDNSProviders/domain.com/29:Case_Sensitivity:Create_CAPS (1.42s)
--- PASS: TestDNSProviders/domain.com/29:Case_Sensitivity:Downcase_label (1.62s)
--- PASS: TestDNSProviders/domain.com/29:Case_Sensitivity:Downcase_target (0.79s)
--- PASS: TestDNSProviders/domain.com/29:Case_Sensitivity:Upcase_both (1.30s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#23 (0.18s)
--- PASS: TestDNSProviders/domain.com/30:testByLabel:initial (1.14s)
--- PASS: TestDNSProviders/domain.com/30:testByLabel:changeOne (2.93s)
--- PASS: TestDNSProviders/domain.com/30:testByLabel:deleteOne (1.21s)
--- PASS: TestDNSProviders/domain.com/30:testByLabel:addOne (0.74s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#24 (0.17s)
--- PASS: TestDNSProviders/domain.com/31:testByRecordSet:initial (1.17s)
--- PASS: TestDNSProviders/domain.com/31:testByRecordSet:changeOne (0.79s)
--- PASS: TestDNSProviders/domain.com/31:testByRecordSet:deleteOne (0.94s)
--- PASS: TestDNSProviders/domain.com/31:testByRecordSet:addOne (0.96s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#25 (0.18s)
--- PASS: TestDNSProviders/domain.com/32:IDNA:Internationalized_name (0.95s)
--- PASS: TestDNSProviders/domain.com/32:IDNA:Change_IDN (0.83s)
--- PASS: TestDNSProviders/domain.com/32:IDNA:Chinese_label (1.02s)
--- PASS: TestDNSProviders/domain.com/32:IDNA:Internationalized_CNAME_Target (1.19s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#26 (0.18s)
--- PASS: TestDNSProviders/domain.com/33:IDNAs_in_CNAME_targets:IDN_CNAME_AND_Target (0.87s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#27 (0.18s)
--- PASS: TestDNSProviders/domain.com/34:pager101:99_records (4.85s)
--- PASS: TestDNSProviders/domain.com/34:pager101:100_records (7.05s)
--- PASS: TestDNSProviders/domain.com/34:pager101:101_records (6.96s)
--- SKIP: TestDNSProviders/domain.com/35:pager601_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/36:pager1201_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/37:batchRecordswithOthers_SKIPPED(disabled_by_only):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#28 (1.31s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_record (2.93s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_change_tag (0.75s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_change_target (1.11s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_change_flag (1.00s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_many_records (0.95s)
--- PASS: TestDNSProviders/domain.com/38:CAA:CAA_whitespace (0.71s)
--- SKIP: TestDNSProviders/domain.com/39:LOC_SKIPPED(CanUseLOC_not_supported):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#29 (0.16s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_record (0.69s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_second_record (1.42s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_delete_second_record (1.05s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_order (0.81s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_preference (0.95s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_flags (0.79s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_service (1.05s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_regexp (1.26s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_remove_regexp_and_add_target (0.84s)
--- PASS: TestDNSProviders/domain.com/40:NAPTR:NAPTR_change_target (0.78s)
--- SKIP: TestDNSProviders/domain.com/41:PTR_SKIPPED(CanUsePTR_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/42:SOA_SKIPPED(CanUseSOA_not_supported):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#30 (0.18s)
--- PASS: TestDNSProviders/domain.com/43:SRV:SRV_record (1.08s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Second_SRV_record,same_prio (1.90s)
--- PASS: TestDNSProviders/domain.com/43:SRV:3_SRV (1.16s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Delete_one (1.05s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Change_Target (0.91s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Change_Priority (0.79s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Change_Weight (0.84s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Change_Port (1.01s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Empty (0.15s)
--- PASS: TestDNSProviders/domain.com/43:SRV:Null_Target (1.15s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#31 (0.16s)
--- PASS: TestDNSProviders/domain.com/44:SRV:Create_SRV333 (1.20s)
--- PASS: TestDNSProviders/domain.com/44:SRV:Change_TTL999 (1.06s)
--- SKIP: TestDNSProviders/domain.com/45:SSHFP
SKIPPED(CanUseSSHFP_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/46:TLSA_SKIPPED(CanUseTLSA_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/47:DS_SKIPPED(CanUseDS_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/48:DS_(children_only)SKIPPED(CanUseDSForChildren_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/49:DS
(children_only)CLOUDNSSKIPPED(CanUseDSForChildren_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/50:DHCID_SKIPPED(CanUseDHCID_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/51:DNAME_SKIPPED(CanUseDNAME_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/52:DNSKEY_SKIPPED(CanUseDNSKEY_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/53:ALIAS_on_apex_SKIPPED(CanUseAlias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/54:ALIAS_to_nonfqdn_SKIPPED(CanUseAlias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/55:ALIAS_on_subdomain_SKIPPED(CanUseAlias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/56:AZURE_ALIAS_A_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/57:AZURE_ALIAS_CNAME_SKIPPED(CanUseAzureAlias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/58:R53_ALIAS2_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/59:R53_ALIAS_ORDER_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/60:R53_ALIAS_CNAME_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/61:R53_ALIAS_Loop_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/62:R53_alias_pre-existing_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/63:R53_alias_evaluate_target_health_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/64:R53_B3493_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/65:R53_B3493_REV_SKIPPED(CanUseRoute53Alias_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/66:R53_WEIGHT_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/67:R53_WEIGHT_CNAME_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/68:R53_WEIGHT_MIXED_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/69:TENCENTDNS_LINE_WEIGHT_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/70:CLOUDFLAREAPI_SINGLE_REDIRECT_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/71:CF_PROXY_A_create_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/72:CF_PROXY_A_off_to_on_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/73:CF_PROXY_A_on_to_off_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/74:CF_PROXY_CNAME_create_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/75:CF_PROXY_CNAME_off_to_on_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/76:CF_PROXY_CNAME_on_to_off_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/77:CF_CNAME_FLATTEN_create_SKIPPED(excluded_by_alltrue([false])):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/78:CF_CNAME_FLATTEN_off_to_on_SKIPPED(excluded_by_alltrue([false])):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/79:CF_CNAME_FLATTEN_on_to_off_SKIPPED(excluded_by_alltrue([false])):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/80:CF_COMMENT_create_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/81:CF_TAGS_create_SKIPPED(excluded_by_alltrue([false])):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/82:CF_WORKER_ROUTE_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/83:ADGUARDHOME_A_PASSTHROUGH_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/84:ADGUARDHOME_AAAA_PASSTHROUGH_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/85:MIKROTIK_FWD_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/86:MIKROTIK_NXDOMAIN_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/87:MIKROTIK_METADATA_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/88:VERCEL_CAA_whitespace_-cansignhttpexchangesSKIPPED(disabled_by_only):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#32 (0.17s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:Create_some_records (0.87s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_label (1.11s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS (0.37s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_label,type (0.41s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#01 (0.38s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_label,type,target (0.40s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#02 (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_type (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#03 (0.37s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_type,target (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#04 (0.37s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_target (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#05 (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_manytypes (0.38s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#06 (0.39s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:ignore_label,type,target=* (0.36s)
--- PASS: TestDNSProviders/domain.com/89:IGNORE_main:VERIFY_PREVIOUS#07 (0.33s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#33 (0.18s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:Create_some_records (1.25s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_label (0.38s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS (0.36s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_label,type (0.35s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#01 (0.39s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_label,type,target (0.33s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#02 (0.36s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_type (0.42s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#03 (0.33s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_type,target (0.37s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#04 (0.65s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_target (0.36s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#05 (0.94s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:apex_manytypes (0.35s)
--- PASS: TestDNSProviders/domain.com/90:IGNORE_apex:VERIFY_PREVIOUS#06 (0.42s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#34 (0.19s)
--- PASS: TestDNSProviders/domain.com/91:IGNORE_unsafe:Create_some_records (1.17s)
--- PASS: TestDNSProviders/domain.com/91:IGNORE_unsafe:ignore_unsafe_apex (0.33s)
--- PASS: TestDNSProviders/domain.com/91:IGNORE_unsafe:VERIFY_PREVIOUS (0.37s)
--- PASS: TestDNSProviders/domain.com/91:IGNORE_unsafe:ignore_unsafe_label (0.49s)
--- PASS: TestDNSProviders/domain.com/91:IGNORE_unsafe:VERIFY_PREVIOUS#01 (0.38s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#35 (0.17s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:Create_some_records (0.88s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:ignore_label=foo.* (0.38s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:VERIFY_PREVIOUS (0.37s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:ignore_label=foo.bat,type (0.36s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:VERIFY_PREVIOUS#01 (0.36s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:ignore_target=*.domain (0.35s)
--- PASS: TestDNSProviders/domain.com/92:IGNORE_wilds:VERIFY_PREVIOUS#02 (0.40s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#36 (0.20s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:Create_some_records (1.28s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:IGNORE_change_ByZone (1.27s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:VERIFY_PREVIOUS (0.40s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:IGNORE_change_ByLabel (0.89s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:VERIFY_PREVIOUS#01 (0.38s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:IGNORE_change_ByRecordSet (0.87s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:VERIFY_PREVIOUS#02 (0.39s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:IGNORE_change_ByRecord (0.95s)
--- PASS: TestDNSProviders/domain.com/93:IGNORE_with_modify:VERIFY_PREVIOUS#03 (0.42s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#37 (0.21s)
--- PASS: TestDNSProviders/domain.com/94:IGNORE_TARGET_b2285:Create_some_records (1.45s)
--- PASS: TestDNSProviders/domain.com/94:IGNORE_TARGET_b2285:Add_a_new_record_-ignoring_test.foo.com. (0.18s)
--- PASS: TestDNSProviders/domain.com/94:IGNORE_TARGET_b2285:VERIFY_PREVIOUS (0.39s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#38 (0.19s)
--- PASS: TestDNSProviders/domain.com/95:IGNORE_everything_b2822:Create_some_records (1.58s)
--- PASS: TestDNSProviders/domain.com/95:IGNORE_everything_b2822:ignore_them_all (0.34s)
--- PASS: TestDNSProviders/domain.com/95:IGNORE_everything_b2822:VERIFY_PREVIOUS (0.34s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#39 (0.17s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:Create_some_records (0.83s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:ignore (0.34s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:VERIFY_PREVIOUS (0.37s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:Verify_nothing_changed (0.36s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:VERIFY_PREVIOUS#01 (0.36s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:ignore_with_change (0.81s)
--- PASS: TestDNSProviders/domain.com/96:IGNORE_w/change_b3227:VERIFY_PREVIOUS#02 (0.34s)
--- SKIP: TestDNSProviders/domain.com/97:structured_TXT
SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/98:structured_TXT_as_native_records_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/99:CLOUDNS_geodns_tests_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/100:PORKBUN_url_forwarding_tests_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/101:GCORE_metadata_tests_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/102:NAMECHEAP_url_redirect_records_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/103:OPENPGPKEY_SKIPPED(CanUseOPENPGPKEY_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/104:SMIMEA_SKIPPED(CanUseSMIMEA_not_supported):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/105:Bunny_DNS_Pull_Zone_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/106:HEDNS_DYNAMIC_A_lifecycle_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/107:HEDNS_DYNAMIC_AAAA+TXT_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/108:HEDNS_DDNS_KEY_SKIPPED(disabled_by_only):Empty (0.00s)
--- SKIP: TestDNSProviders/domain.com/109:HEDNS_DYNAMIC_mixed_records_SKIPPED(disabled_by_only):Empty (0.00s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#40 (0.16s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#41 (0.18s)
--- PASS: TestDNSProviders/domain.com/111:final:final (1.38s)
--- PASS: TestDNSProviders/domain.com/Clean_Slate:Empty#42 (0.20s)
--- FAIL: TestDNSProviders/domain.com/112:final:final (0.16s)

@TomOnTime
TomOnTime requested a review from atrull July 24, 2026 13:27
@TomOnTime

Copy link
Copy Markdown
Collaborator Author

Thanks for the fast reply!

We can ignore that last test. It's basically a no-op.

Best,
Tom

@TomOnTime
TomOnTime merged commit 620a04f into release_candidate_v5 Jul 24, 2026
24 checks passed
@TomOnTime
TomOnTime deleted the mod_joker branch July 24, 2026 13:29
@atrull atrull assigned atrull and unassigned atrull Jul 24, 2026
@atrull

atrull commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

I approve, I'm just unable to click approve or find a way via the web interface (Github UX en**itification?)

@TomOnTime

Copy link
Copy Markdown
Collaborator Author

Thanks! (yeah, it may be github, it may be that the "triage" role can't approve PRs)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants