Skip to content

Add a weekly CI run - #2059

Merged
darbyjohnston merged 1 commit into
AcademySoftwareFoundation:mainfrom
darbyjohnston:ci-weekly-schedule
Sep 26, 2026
Merged

darbyjohnston merged 1 commit into
AcademySoftwareFoundation:mainfrom
darbyjohnston:ci-weekly-schedule

Conversation

@darbyjohnston

@darbyjohnston darbyjohnston commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Having a regularly scheduled CI run will help us spot issues with the GH runners, for example the upcoming Ubuntu 26.04 upgrade. This PR adds a weekly CI run for the main branch, and the ability to trigger a run manually.

🤖 Generated with Claude Code using Claude Opus 5

What the build stands on moves whether or not the code does. Runner images
are replaced, the compilers and Python versions on them change, and the
dependencies fetched during the build release new versions. Today that is
found by whichever pull request happens along next, and its author has to
work out that the failure is nothing to do with their change before anyone
can start on the real one.

A run every Monday morning meets it first, at seventeen minutes past rather
than on the hour, since GitHub delays scheduled runs when many of them come
due at once. It is the same workflow rather than a smaller one on purpose:
a weekly run that covered less than a pull request does could not tell
anyone what a pull request is about to hit. Manual runs are allowed too,
for when there is reason to look without waiting a week.

A weekly run and a push to main share a concurrency group, since both are
the default branch, so one cancels the other. That is left alone: they test
the same commit against the same environment, so whichever finishes answers
the same question.

Signed-off-by: Darby Johnston <darbyjohnston@yahoo.com>
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 83.52%. Comparing base (e6ca3b7) to head (5509812).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #2059   +/-   ##
=======================================
  Coverage   83.52%   83.52%           
=======================================
  Files         182      182           
  Lines       13533    13533           
  Branches     1255     1255           
=======================================
  Hits        11303    11303           
  Misses       2057     2057           
  Partials      173      173           
Flag Coverage Δ
py-unittests 83.52% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update e6ca3b7...5509812. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@camkerr

camkerr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Great idea. Good note about setting the time and Github delaying scheduled runs.

@timlehr

timlehr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Awesome! I wonder if we want to have the same
setup for the adapters with a slight twist:

  • Tests against OTIO main only run through the cron, don’t gate the merge
  • Merge gate would be the latest released OTIO version

This way we can land PRs without needing to future proof them against the bleeding edge all the time which can be tough (keep having to ping contributors to rebase etc).

What do you think?

@darbyjohnston

Copy link
Copy Markdown
Contributor Author

I think that sounds reasonable, though we should probably have more frequent OTIO releases so the adapters don't fall behind.

@timlehr

timlehr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

I’m all for it! Quarterly releases! :)

@camkerr

camkerr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

One thing to keep in mind is that Github automatically disables scheduled actions for repos that are inactive for 60 days.

Some of the less frequently updated adapters may fall under that.

@timlehr

timlehr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

Does GitHub reenable them automatically when a project gets active contributions again?

@camkerr

camkerr commented Sep 25, 2026

Copy link
Copy Markdown
Contributor

No, you gotta manually re-enable them.

There are ways around it, but they're either kinda sloppy or require extra monitoring.

There's this Keepalive Action that just makes dummy commits if nothing happens for 45 days.

Others add heartbeat pings to the end of their scheduled actions that call home to a monitoring service and setup alerts if one goes stale and doesn't check in.

@darbyjohnston darbyjohnston added this to the 0.19.0 milestone Sep 26, 2026
@darbyjohnston
darbyjohnston merged commit dc83665 into AcademySoftwareFoundation:main Sep 26, 2026
54 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants