ocurrent / opam-repo-ci

An OCurrent pipeline for testing submissions to opam-repository
19 stars 21 forks source link

Don't run on Oracle Linux #322

Closed shonfeder closed 1 month ago

shonfeder commented 1 month ago

Closes https://github.com/ocurrent/opam-repo-ci/issues/321

This is a followup correcting the intended logic. Code looked correct, but it was actually failing to filter out Oracle due to the precedence of when clauses and disjunctive cases. I.e.,

| x | y | z when cond -> foo

means

(| x | y | z when cond -> foo) | _ -> bar

rather than

| x | y | (z when cond) -> foo

E.g.,:

match 1 with
 | 1 | 2 | _ when false -> "foo"
 | _ -> "bar"
;;
- : string = "bar"

Thanks to the expect tests, we would have caught this logic error were it to be going in today.

shonfeder commented 1 month ago

Looks to me like the deployability job is failing due to CI flaking, rather than anything with this changest:

#=== ERROR while fetching sources for opam-state.2.2.0~beta1 ==================#
OpamSolution.Fetch_fail("# path                 /src\n# command              /bin/tar xfz /home/opam/.opam/download-cache/md5/35/355f8a98d8e775cc9e1ae1c28feaee3e -C /tmp/opam-7-aca823\n# exit-code            2\n# env-file             ~/.opam/log/log-7-5141d1.env\n# output-file          ~/.opam/log/log-7-5141d1.out\n### output ###\n# tar (child): /home/opam/.opam/download-cache/md5/35/355f8a98d8e775cc9e1ae1c28feaee3e: Cannot open: No such file or directory\n# tar (child): Error is not recoverable: exiting now\n# /bin/tar: Child returned status 2\n# /bin/tar: Error is not recoverable: exiting now\n")

But it seems that I cannot restart the job until https://github.com/ocurrent/ocaml-ci/pull/941 is merged and depolyed.

mtelvers commented 1 month ago

But it seems that I cannot restart the job until https://github.com/ocurrent/ocaml-ci/pull/941 is merged and depolyed.

PR941 should obviously be merged, but as an aside, the rebuild button is available to all users, whether signed in or not.

mtelvers commented 1 month ago

It occurred to me that the permissions for the deployability check are in the deployer code. See https://github.com/ocurrent/ocurrent-deployer/pull/219

shonfeder commented 1 month ago

But it seems that I cannot restart the job until https://github.com/ocurrent/ocaml-ci/pull/941 is merged and depolyed.

PR941 should obviously be merged, but as an aside, the rebuild button is available to all users, whether signed in or not.

Strange. I was getting a permission error trying to rebuild. Maybe that's a bug?

mtelvers commented 1 month ago

But it seems that I cannot restart the job until ocurrent/ocaml-ci#941 is merged and depolyed.

PR941 should obviously be merged, but as an aside, the rebuild button is available to all users, whether signed in or not.

Strange. I was getting a permission error trying to rebuild. Maybe that's a bug?

Possibly, I did validate my comment before posting. Using an in-private browser session on another PC, I was able to rebuild the jobs. Perhaps we are talking of different jobs or a different buttons. If you go via ocaml.ci.dev:8100, then you need permissions as per your PR. For deployability, via deploy.ci.dev, you need permissions as per my PR. Via ocaml.ci.dev, the blue rebuild buttons work regardless.