{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by xavierleroy"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 110,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
            "branch" : [
              {
                "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
                "name" : "origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
            "branch" : [
              {
                "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
                "name" : "origin/trunk"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
        "branch" : [
          {
            "SHA1" : "41548a735900a74202b07f918521ef9ac52ece1e",
            "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" : "#110",
  "duration" : 2439604,
  "estimatedDuration" : 2534434,
  "executor" : None,
  "fullDisplayName" : "Risc-V-legacy #110",
  "id" : "110",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 110,
  "queueId" : 48579,
  "result" : "SUCCESS",
  "timestamp" : 1589909047582,
  "url" : "https://ci.inria.fr/ocaml/view/all/job/Risc-V-legacy/110/",
  "builtOn" : "olive",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "otherlibs/unix/execvp.c",
          "otherlibs/unix/unix.ml"
        ],
        "commitId" : "e4d64486cf5e6a975710e925470951465b66ec54",
        "timestamp" : 1589908826000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Reimplement execvpe emulation in C\u000a\u000aThe `execvpe` function is not always provided by C standard libraries.\u000a\u000aPR #1414 implemented an emulation of `execvpe` in terms of `execve`\u000awritten in OCaml.  This commit reimplements the emulation of `execvpe`\u000ain C, so that it can be called from C.  It implements exactly the same\u000aalgorithm, with one small change detailed next.\u000a\u000aSmall change: error ENAMETOOLONG stops the search instead of\u000acontinuing with the next entry in PATH.  This seems more secure.\u000a",
        "date" : "2020-05-19 19:20:26 +0200",
        "id" : "e4d64486cf5e6a975710e925470951465b66ec54",
        "msg" : "Reimplement execvpe emulation in C",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "otherlibs/unix/execvp.c"
          },
          {
            "editType" : "edit",
            "file" : "otherlibs/unix/unix.ml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "testsuite/tests/lib-unix/common/redirections.reference",
          "testsuite/tests/lib-unix/common/redirections.ml"
        ],
        "commitId" : "565c07ceb0b27c1e8c2f1c437ab390690b77efee",
        "timestamp" : 1589908878000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Test redirection of stdout and stderr to the same file descriptor\u000a",
        "date" : "2020-05-19 19:21:18 +0200",
        "id" : "565c07ceb0b27c1e8c2f1c437ab390690b77efee",
        "msg" : "Test redirection of stdout and stderr to the same file descriptor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "testsuite/tests/lib-unix/common/redirections.reference"
          },
          {
            "editType" : "edit",
            "file" : "testsuite/tests/lib-unix/common/redirections.ml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/caml/s.h.in",
          "configure.ac",
          "configure"
        ],
        "commitId" : "82af966ebd53d7488e9d6b3dfe37fb3510f4acbc",
        "timestamp" : 1589908878000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Detect availability of <spawn.h> and posix_spawn function\u000a",
        "date" : "2020-05-19 19:21:18 +0200",
        "id" : "82af966ebd53d7488e9d6b3dfe37fb3510f4acbc",
        "msg" : "Detect availability of <spawn.h> and posix_spawn function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/caml/s.h.in"
          },
          {
            "editType" : "edit",
            "file" : "configure.ac"
          },
          {
            "editType" : "edit",
            "file" : "configure"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "otherlibs/unix/Makefile",
          "otherlibs/unix/unix.ml",
          "otherlibs/unix/spawn.c"
        ],
        "commitId" : "ba528fe7137a7e67c89a16dc47cfd932ee727210",
        "timestamp" : 1589908878000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Reimplement Unix.create_process in C, using posix_spawn if possible\u000a\u000aUnix.create_process was implemented in OCaml, using Unix.fork\u000aand Unix.execvp.  This commit reimplements it in C, for several reasons:\u000a- The implementation can take advantage of posix_spawn, if available,\u000a  which is usually faster than fork + exec.\u000a- The implementation is more atomic w.r.t. threading.\u000a- Multicore OCaml will probably prohibit Unix.fork in multithreaded\u000a  programs.\u000a",
        "date" : "2020-05-19 19:21:18 +0200",
        "id" : "ba528fe7137a7e67c89a16dc47cfd932ee727210",
        "msg" : "Reimplement Unix.create_process in C, using posix_spawn if possible",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "otherlibs/unix/unix.ml"
          },
          {
            "editType" : "add",
            "file" : "otherlibs/unix/spawn.c"
          },
          {
            "editType" : "edit",
            "file" : "otherlibs/unix/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "otherlibs/unix/unix.ml"
        ],
        "commitId" : "3e8272fe7ce86a75e296e81ca8dcf31e8307eb37",
        "timestamp" : 1589908878000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Reimplement Unix.command like Unix.create_process\u000a\u000aAvoid calling Unix.fork and use the new \"spawn\" primitive, for efficiency\u000aand for improved compatibility with threads and Multicore OCaml.\u000a",
        "date" : "2020-05-19 19:21:18 +0200",
        "id" : "3e8272fe7ce86a75e296e81ca8dcf31e8307eb37",
        "msg" : "Reimplement Unix.command like Unix.create_process",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "otherlibs/unix/unix.ml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Changes"
        ],
        "commitId" : "2fe16774cbd3415ec3f9d05fc917999c76fbfcea",
        "timestamp" : 1589908878000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Add Changes entry\u000a",
        "date" : "2020-05-19 19:21:18 +0200",
        "id" : "2fe16774cbd3415ec3f9d05fc917999c76fbfcea",
        "msg" : "Add Changes entry",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Changes"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
      "fullName" : "xavier.leroy"
    }
  ]
}