JSON -> JSON::MaybeXS

[?]
Oct 20, 2021, 2:53 AM
LNUINAZCVH5UMTED7CGIC2JGDCT3AUEOTPCDJNSP7HZFMR76SH6AC

Dependencies

  • [2] D5YPJDT6 Add GithubPulls input plugin.
  • [3] 27UAQK2W Add BitBucket pull request support
  • [4] UDL2YPNH Add GitlabPulls input plugin
  • [5] PM3ZQ36V Add documentation for SlackNotification plugin
  • [6] 5HKLBKCA Update haserrormsg logic implementation.
  • [7] KIRRGSUC Add GithubRefs plugin
  • [8] Q3FVYVWX search: limit results to 50, default to 10
  • [9] TPL3BSXG hydra-send-stats: add a --once option for testing
  • [10] JFG4FYTW Implement simple status notifications for Git repos hosted on gitea
  • [11] T3HCJYPL Implement `yath`-test for the new Gitea plugin
  • [12] HWGFAF2B queue runner: test notifications
  • [13] 4DYNWZCQ ToJSON: serialize boolean_columns to JSON boolean
  • [14] P32OJ3RU Jobsets: update schema to align with the API
  • [15] QNKBFUUL Jobsets,JobsetInputs: use JSON
  • [16] WQYAGTX3 Jobset: list known inputs in invalid input type response
  • [17] XSTE3Q62 Projects: use JSON in Schema
  • [18] K4B5ECOH Project: add test for declarative->normal project transition
  • [19] QOV7KWRH Expose Prometheus metrics at /metrics
  • [20] JKRKUHG2 File::Slurp -> File::Slurper
  • [21] TRPMSYL3 add api endpoint: /build/<id>/constituents
  • [22] 354QHWZ7 RunCommand: move JSON generation to its own function
  • [23] VSSEUT3Z RunCommand: Move the json validation testing to its own test
  • [24] SJPEC375 Builds: add a nullable jobset_id foreign key to Jobsets.
  • [25] BMGYDRNK jobsetevals: refer to jobset by ID
  • [26] AKRVETP5 Handle UTF-8 characters in eval error messages
  • [27] YH2ITHUE [DEVOPS-1126] throttle github status calls to remain under api ratelimits
  • [28] LZVO64YG Merge in the first bits of the API work
  • [29] 7X2EDZWD hydra-send-stats: fix imports
  • [30] FCNC325Z GithubPulls: Add 'revision' to the input
  • [31] TJK27WSB Open the DB using Hydra::Model::DB->new
  • [32] SHYRGAWZ hydra: when no external url is given for diff's of git/hg input, revert to a diff done on a local available clone
  • [33] KUORZDSR Add slack plugin.
  • [34] MIMHJSZK Add json output for the search API endpoint
  • [35] EWIMH4Y5 Handle case where jobset has no defined errormsg for api/jobsets
  • [36] GLJD3PG2 api-test.t: make it work under yath
  • [37] ANJBFPBE Added the InfluxDBNotification plugin including a NixOS test
  • [38] I6VBIPQI (perlcritic) JSON::Any -> JSON::MaybeXS
  • [39] ZQLF4QLV Replace TestHTTPMockServer with python script
  • [40] NS7SND6R hydra-evaluator: Send statistics to statsd
  • [41] MQYHIUEE Cleanup eval serialization
  • [42] EYAA7MJY hydra-server: Support logs in S3
  • [43] 7DWCXNC7 Use the new Nix Perl bindings
  • [44] VU2OLHD2 Move most of AddBuilds to hydra-eval-jobset
  • [45] IMQRX4MP hydra-eval-jobs: Use JSON instead of XML
  • [46] 6ZXL5UOP Add a plugin to execute arbitrary commands when a build finishes
  • [47] NGFKXI5F Add `haserrormsg` boolean attribute to jobset API response
  • [48] MB5INTIQ Normalize nixexpr{input,path} from builds to jobsetevals.
  • [49] XUKHBDR5 Prevent Persona users from setting a password
  • [50] LN3E2P4E t: Test Projects JSON serialization and deserialization
  • [51] 7I2U2MHU perlcritic: use strict, use warnings
  • [52] DODOGD7M Send queue runner stats to statsd
  • [53] SYLVCTT6 Start api cleanup with the User model
  • [54] 3XTHEUMP * Implemented the clone feature.
  • [55] BKOIYITR added some json responses
  • [56] KSBB33RE Add a dashboard
  • [57] 4VYSDP4I Add eager fetching of relations and enable that for jobset->jobsetinputs
  • [58] RX5IIZMT Use Email::MIME instead of Email::Simple
  • [59] RCTBHBVC Add CircleCI plugin.
  • [60] YXU6JABK Create a gitlab status plugin
  • [61] LE4VZIY5 More stats
  • [62] 3NGONGQ7 Project: add declfile, decltype, declvalue to API
  • [63] NZXX6PLD Remove the Jobs table
  • [64] NX5BM2OI Machine status page: Show disabled machines and some machine stats
  • [65] 2AM7IAS5 Tighten up 'should exit with return code'
  • [66] 7FJKVZAN RunCommand: calculate all the commands to run against before starting
  • [67] MMHOJIGD Test whether incorrect passwords are rejected
  • [68] IGR322YP sql: Generate models from postgresql
  • [69] 2MSFKTD5 Ensure proper encoding of error messages
  • [70] HPGWVEFK Add 'readonly_ips' option, to allow readonly access for certain IPs when 'private' option is enabled.
  • [71] 2DGIP6L4 Cleanup build serialization
  • [72] YI3BZG5N Cleanup Jobset serialization
  • [73] EVZTBKEF Add simpler push support for GitHub
  • [74] FRTDCC6I Extend the jobset API response
  • [75] 5WNGKHLZ Plugins: Add isEnabled method
  • [76] 7XFHKDDO JobsetInputs: update schema to align with the API
  • [77] SB2V735V Keep track of the database schema version
  • [78] XE6HD7BP Provide the nix-cache-info file required by the binary cache substituter
  • [79] BQEXO33N Projects: don't respond with unnecessary declarative field
  • [80] 36ZTCZ4F Add basic Persona support
  • [81] ZLLMZMPO Fix error codes for GiteaStatus plugin
  • [82] XJRJ4J7M Add user registration
  • [83] SMM4HQTP * Put actions related to builds under /build (e.g. /log/<buildid>
  • [84] 7ECJWNVX Cleanup Project model
  • [85] NSRWW6LC Add a plugin to interact with the github status API.
  • [86] OI2FTIMY Add BitBucket plugin
  • [87] U35IWU3C GithubRefs: fixup "my" variable $type masks earlier declaration in same scope
  • [88] ZDH6UX5U Jobset: add HTTP API test
  • [89] 4OG3W43V Get rid of old ToJSON code path
  • [90] ZIIXICG7 Make the outputs' outpaths available via the Build JSON API
  • [91] NI53QY2D Disable the remote dest store for the channel test
  • [92] MQLCUSZL Test the fake derivations channel, asserting nested packages are properly represented.
  • [93] PR4W2IUB plugin/GitLabPulls: support for using a personal access token (PAT)
  • [94] WQ3QMV3D DBIx::Class: migrate to use_namespaces
  • [95] KSFJOFIC Make PathInput plugin cache validity configurable
  • [96] 5KWIPCUK UTF-8 fix
  • [97] KT3RJ35G constituents test: add use warnings
  • [*] J5UVLXOK * Start of a basic Catalyst web interface.
  • [*] OOQ2D3KC * Refactoring: move fetchInput out of hydra_scheduler into a separate
  • [*] X27GNHDV * Basic job info in the database.
  • [*] N22GPKYT * Put info about logs / build products in the DB.

Change contents

  • replacement in src/lib/Hydra/Component/ToJSON.pm at line 8
    [24.2566][13.0:10]()
    use JSON;
    [24.2566]
    [24.2566]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Component/ToJSON.pm at line 30
    [13.66][13.66:146]()
    $json{$column} = $self->get_column($column) ? JSON::true : JSON::false;
    [13.66]
    [13.146]
    $json{$column} = $self->get_column($column) ? JSON::MaybeXS::true : JSON::MaybeXS::false;
  • edit in src/lib/Hydra/Controller/API.pm at line 10
    [24.207][24.0:10]()
    use JSON;
  • replacement in src/lib/Hydra/Controller/API.pm at line 89
    [24.41][6.0:104]()
    haserrormsg => defined($jobset->errormsg) && $jobset->errormsg ne "" ? JSON::true : JSON::false
    [24.41]
    [24.2922]
    haserrormsg => defined($jobset->errormsg) && $jobset->errormsg ne "" ? JSON::MaybeXS::true : JSON::MaybeXS::false
  • replacement in src/lib/Hydra/Controller/Root.pm at line 14
    [24.585][24.0:10](),[24.12][24.0:10]()
    use JSON;
    [24.585]
    [8.0]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Controller/User.pm at line 14
    [24.22][24.22:32]()
    use JSON;
    [24.22]
    [24.0]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Helper/AddBuilds.pm at line 7
    [24.12][24.1935:1945](),[24.10][24.1935:1945]()
    use JSON;
    [24.12]
    [24.127]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/BitBucketPulls.pm at line 8
    [3.121][3.121:131]()
    use JSON;
    [3.121]
    [3.131]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/BitBucketStatus.pm at line 7
    [24.102][24.102:112]()
    use JSON;
    [24.102]
    [24.112]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/CircleCINotification.pm at line 9
    [24.161][24.161:171]()
    use JSON;
    [24.161]
    [24.171]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GiteaStatus.pm at line 8
    [10.1241][10.1241:1251]()
    use JSON;
    [10.1241]
    [10.1251]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GithubPulls.pm at line 8
    [2.118][2.118:128]()
    use JSON;
    [2.118]
    [2.128]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GithubRefs.pm at line 8
    [7.117][7.117:127]()
    use JSON;
    [7.117]
    [7.127]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GithubStatus.pm at line 7
    [24.156][24.156:166]()
    use JSON;
    [24.156]
    [24.166]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GitlabPulls.pm at line 22
    [4.515][4.515:525]()
    use JSON;
    [4.515]
    [4.525]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/GitlabStatus.pm at line 7
    [24.99][24.99:109]()
    use JSON;
    [24.99]
    [24.109]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/RunCommand.pm at line 7
    [24.109][24.109:119]()
    use JSON;
    [24.109]
    [24.119]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Plugin/RunCommand.pm at line 77
    [22.126][22.126:205]()
    finished => $build->get_column('finished') ? JSON::true : JSON::false,
    [22.126]
    [22.205]
    finished => $build->get_column('finished') ? JSON::MaybeXS::true : JSON::MaybeXS::false,
  • replacement in src/lib/Hydra/Plugin/SlackNotification.pm at line 9
    [24.226][24.226:236]()
    use JSON;
    [24.226]
    [5.0]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Schema/Result/JobsetInputs.pm at line 137
    [15.1][15.1:11]()
    use JSON;
    [15.1]
    [24.81]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Schema/Result/JobsetInputs.pm at line 151
    [24.373][24.373:469]()
    "emailresponsible" => $self->get_column("emailresponsible") ? JSON::true : JSON::false,
    [24.373]
    [24.469]
    "emailresponsible" => $self->get_column("emailresponsible") ? JSON::MaybeXS::true : JSON::MaybeXS::false,
  • replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 378
    [24.1063][15.12:22]()
    use JSON;
    [24.1063]
    [24.1063]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Schema/Result/Jobsets.pm at line 426
    [14.1470][14.1470:1633]()
    "enableemail" => $self->get_column("enableemail") ? JSON::true : JSON::false,
    "visible" => $self->get_column("hidden") ? JSON::false : JSON::true,
    [14.1470]
    [14.1633]
    "enableemail" => $self->get_column("enableemail") ? JSON::MaybeXS::true : JSON::MaybeXS::false,
    "visible" => $self->get_column("hidden") ? JSON::MaybeXS::false : JSON::MaybeXS::true,
  • replacement in src/lib/Hydra/Schema/Result/Projects.pm at line 249
    [17.1][17.1:11]()
    use JSON;
    [17.1]
    [24.171]
    use JSON::MaybeXS;
  • replacement in src/lib/Hydra/Schema/Result/Projects.pm at line 263
    [24.1395][24.1395:1549]()
    "enabled" => $self->get_column("enabled") ? JSON::true : JSON::false,
    "hidden" => $self->get_column("hidden") ? JSON::true : JSON::false,
    [24.1395]
    [24.1549]
    "enabled" => $self->get_column("enabled") ? JSON::MaybeXS::true : JSON::MaybeXS::false,
    "hidden" => $self->get_column("hidden") ? JSON::MaybeXS::true : JSON::MaybeXS::false,
  • replacement in src/script/hydra-eval-jobset at line 18
    [24.250][24.250:260]()
    use JSON;
    [24.250]
    [24.0]
    use JSON::MaybeXS;
  • replacement in src/script/hydra-send-stats at line 9
    [20.356][24.511:521](),[24.836][24.511:521](),[24.511][24.511:521]()
    use JSON;
    [20.356]
    [9.0]
    use JSON::MaybeXS;
  • replacement in t/Controller/Build/constituents.t at line 4
    [21.1014][21.1014:1052]()
    use JSON qw(decode_json encode_json);
    [21.1014]
    [21.1052]
    use JSON::MaybeXS qw(decode_json encode_json);
  • replacement in t/Controller/Jobset/channel.t at line 7
    [24.609][24.609:635]()
    use JSON qw(decode_json);
    [24.609]
    [24.635]
    use JSON::MaybeXS qw(decode_json);
  • replacement in t/Controller/Jobset/http.t at line 5
    [24.56][24.56:94]()
    use JSON qw(decode_json encode_json);
    [24.56]
    [24.94]
    use JSON::MaybeXS qw(decode_json encode_json);
  • replacement in t/Controller/Jobset/http.t at line 50
    [24.1367][14.2098:2129]()
    visible => JSON::true,
    [24.1367]
    [24.1389]
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/Jobset/http.t at line 75
    [24.2039][24.2039:2072]()
    enableemail => JSON::false,
    [24.2039]
    [24.2072]
    enableemail => JSON::MaybeXS::false,
  • replacement in t/Controller/Jobset/http.t at line 80
    [24.2178][14.2130:2158]()
    visible => JSON::true,
    [24.2178]
    [14.2158]
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/Jobset/http.t at line 103
    [24.2746][14.2178:2209]()
    visible => JSON::true,
    [24.2746]
    [24.2768]
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/Jobset/http.t at line 133
    [24.3547][24.3547:3579]()
    enableemail => JSON::false,
    [24.3547]
    [24.3579]
    enableemail => JSON::MaybeXS::false,
  • replacement in t/Controller/Jobset/http.t at line 138
    [24.3665][14.2231:2258]()
    visible => JSON::true,
    [24.3665]
    [14.2258]
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/Jobset/http.t at line 143
    [24.3781][24.3781:3822]()
    emailresponsible => JSON::false,
    [24.3781]
    [14.2275]
    emailresponsible => JSON::MaybeXS::false,
  • replacement in t/Controller/Jobset/http.t at line 168
    [16.904][16.904:935]()
    visible => JSON::true,
    [16.904]
    [16.935]
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/metrics.t at line 5
    [19.1041][19.1041:1079]()
    use JSON qw(decode_json encode_json);
    [19.1041]
    [19.1079]
    use JSON::MaybeXS qw(decode_json encode_json);
  • replacement in t/Controller/projects.t at line 5
    [24.56][18.0:38]()
    use JSON qw(decode_json encode_json);
    [24.56]
    [24.82]
    use JSON::MaybeXS qw(decode_json encode_json);
  • replacement in t/Controller/projects.t at line 48
    [18.923][18.923:985]()
    enabled => JSON::true,
    hidden => JSON::false,
    [18.923]
    [18.985]
    enabled => JSON::MaybeXS::true,
    hidden => JSON::MaybeXS::false,
  • replacement in t/Controller/projects.t at line 64
    [18.1533][18.1533:1611]()
    enabled => JSON::true,
    visible => JSON::true,
    [18.1533]
    [18.1611]
    enabled => JSON::MaybeXS::true,
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/projects.t at line 87
    [18.2239][18.2239:2309]()
    enabled => JSON::true,
    hidden => JSON::false,
    [18.2239]
    [18.2309]
    enabled => JSON::MaybeXS::true,
    hidden => JSON::MaybeXS::false,
  • replacement in t/Controller/projects.t at line 107
    [18.2855][18.2855:2933]()
    enabled => JSON::true,
    visible => JSON::true,
    [18.2855]
    [18.2933]
    enabled => JSON::MaybeXS::true,
    visible => JSON::MaybeXS::true,
  • replacement in t/Controller/projects.t at line 130
    [18.3565][18.3565:3635]()
    enabled => JSON::true,
    hidden => JSON::false,
    [18.3565]
    [18.3635]
    enabled => JSON::MaybeXS::true,
    hidden => JSON::MaybeXS::false,
  • replacement in t/api-test.t at line 4
    [24.23][24.36471:36481](),[24.36471][24.36471:36481]()
    use JSON;
    [24.23]
    [24.24]
    use JSON::MaybeXS;
  • edit in t/plugins/RunCommand/json.t at line 3
    [23.104]
    [23.104]
    use JSON::MaybeXS;
  • replacement in t/plugins/RunCommand/json.t at line 48
    [23.1557][23.1557:1618]()
    is($dat->{finished}, JSON::true, "The build finished.");
    [23.1557]
    [23.1618]
    is($dat->{finished}, JSON::MaybeXS::true, "The build finished.");
  • replacement in t/plugins/gitea.t at line 4
    [11.1555][11.1555:1565]()
    use JSON;
    [11.1555]
    [11.1565]
    use JSON::MaybeXS;
  • replacement in t/queue-runner/notifications.t at line 4
    [12.405][12.405:415]()
    use JSON;
    [12.405]
    [12.415]
    use JSON::MaybeXS;
  • replacement in t/setup-notifications-jobset.pl at line 4
    [24.6899][24.6899:6909]()
    use JSON;
    [24.6899]
    [24.6909]
    use JSON::MaybeXS;