Skip to content

Conversation

@lgritz
Copy link
Collaborator

@lgritz lgritz commented Oct 19, 2025

A small portion of time -- maybe 10%, just enough for many CI workflow runs to have a single job fail -- our attempt to dnf install ffmpeg fails.

I thought maybe it was an intermittent, transient failure. But looping to try multiple times with delays in between does not help. A job that fails once either succeeds initially or fails over and over. I'm now leaning toward the belief that rather than a transient failures, there are just a subset of GHA runners that will always fail, and the semi-random nature of our job failures is just random luck of the draw in runner selection.

Anyway, so I'm not going to merge the try-in-a-loop approach. Instead, this PR just makes ffmpeg an optional dependency, so the failures to get the dependency won't fail the OIIO build and therefore the CI. It seems like most of the time we really do get the dependency, but I'm out of better ideas at the moment.

A small portion of time -- maybe 10%, just enough for many CI workflow
runs to have a single job fail -- our attempt to `dnf install ffmpeg`
fails.

I thought maybe it was an intermittent, transient failure. But looping
to try multiple times with delays in between does not help. A job that
fails once either succeeds initially or fails over and over. I'm now
leaning toward the belief that rather than a transient failures, there
are just a subset of GHA runners that will always fail, and the
semi-random nature of our job failures is just random luck of the draw
in runner selection.

Anyway, so I'm not going to merge the try-in-a-loop approach. Instead,
this PR just makes ffmpeg an optional dependency, so the failures to
get the dependency won't fail the OIIO build and therefore the CI.  It
seems like most of the time we really do get the dependency, but I'm
out of better ideas at the moment.

Signed-off-by: Larry Gritz <[email protected]>
@lgritz
Copy link
Collaborator Author

lgritz commented Oct 19, 2025

I am going to preemptively merge this because it's a CI only change (doesn't change the code or anyone else's builds), and without it, nearly all other PRs are spuriously failing CI.

@lgritz lgritz merged commit 0f72f73 into AcademySoftwareFoundation:main Oct 19, 2025
32 checks passed
lgritz added a commit to lgritz/OpenImageIO that referenced this pull request Oct 19, 2025
)

A small portion of time -- maybe 10%, just enough for many CI workflow
runs to have a single job fail -- our attempt to `dnf install ffmpeg`
fails.

I thought maybe it was an intermittent, transient failure. But looping
to try multiple times with delays in between does not help. A job that
fails once either succeeds initially or fails over and over. I'm now
leaning toward the belief that rather than a transient failures, there
are just a subset of GHA runners that will always fail, and the
semi-random nature of our job failures is just random luck of the draw
in runner selection.

Anyway, so I'm not going to merge the try-in-a-loop approach. Instead,
this PR just makes ffmpeg an optional dependency, so the failures to get
the dependency won't fail the OIIO build and therefore the CI. It seems
like most of the time we really do get the dependency, but I'm out of
better ideas at the moment.

Signed-off-by: Larry Gritz <[email protected]>
@lgritz lgritz deleted the lg-ffmpeg3 branch October 19, 2025 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant