{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by gasche"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 125,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
            "branch" : [
              {
                "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
                "name" : "origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
            "branch" : [
              {
                "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
                "name" : "origin/trunk"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
        "branch" : [
          {
            "SHA1" : "e68b75eb823c27894c5a2fcf30f1166029abffb1",
            "name" : "origin/trunk"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/ocaml/ocaml"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#125",
  "duration" : 2485358,
  "estimatedDuration" : 2534434,
  "executor" : None,
  "fullDisplayName" : "Risc-V-legacy #125",
  "id" : "125",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 125,
  "queueId" : 50291,
  "result" : "SUCCESS",
  "timestamp" : 1590564402793,
  "url" : "https://ci.inria.fr/ocaml/view/all/job/Risc-V-legacy/125/",
  "builtOn" : "olive",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lambda/matching.ml"
        ],
        "commitId" : "d333ac83ecc94be4af7933c39c905025da201940",
        "timestamp" : 1590419191000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/gabriel.scherer",
          "fullName" : "gabriel.scherer"
        },
        "authorEmail" : "gabriel.scherer@gmail.com",
        "comment" : "matching: use constructor descriptions instead of tags as matching keys\u000a\u000aThis loses no information (descriptions contain the tag), but it will\u000amake it easier to obtain the descriptions inside `combine_constructor`\u000awithout doing a dynamic check on the patterns. This will in turn help\u000asimplify the interaction with `Parmatch.complete_constrs`.\u000a\u000aNote: after this patch we use `Types.equal_tag` instead of `( = )` to\u000acompare tags during pattern-matching compilation. This is better code,\u000aand we believe that it does not change the behavior: `Types.equal_tag`\u000ais mostly similar to a type-specialized version of `( = )`, except\u000athat it calls `Ident.same` that just compares the stamps and ignore\u000athe names, which (assuming well-formedness of idents) is equivalent\u000aand slightly faster.\u000a",
        "date" : "2020-05-25 17:06:31 +0200",
        "id" : "d333ac83ecc94be4af7933c39c905025da201940",
        "msg" : "matching: use constructor descriptions instead of tags as matching keys",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lambda/matching.ml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Changes",
          "typing/parmatch.mli",
          "typing/parmatch.ml",
          ".depend",
          "lambda/matching.ml"
        ],
        "commitId" : "bf95a247395ef89036578e04194e517063eb1244",
        "timestamp" : 1590500861000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/gabriel.scherer",
          "fullName" : "gabriel.scherer"
        },
        "authorEmail" : "gabriel.scherer@gmail.com",
        "comment" : "Matching: propagate constructor descriptions in complete_pats_constrs\u000a\u000aThis simplifies this particular interface boundary between Matching\u000aand Parmatch.\u000a\u000a(Suggested by Florian Angeletti)\u000a",
        "date" : "2020-05-26 15:47:41 +0200",
        "id" : "bf95a247395ef89036578e04194e517063eb1244",
        "msg" : "Matching: propagate constructor descriptions in complete_pats_constrs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".depend"
          },
          {
            "editType" : "edit",
            "file" : "typing/parmatch.mli"
          },
          {
            "editType" : "edit",
            "file" : "typing/parmatch.ml"
          },
          {
            "editType" : "edit",
            "file" : "lambda/matching.ml"
          },
          {
            "editType" : "edit",
            "file" : "Changes"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ci.inria.fr/ocaml/user/gabriel.scherer",
      "fullName" : "gabriel.scherer"
    }
  ]
}