Skip to content

ci(meetings): keep the meeting archive current from the playlist - #55

Open
Timur Tukaev (tym83) wants to merge 3 commits into
mainfrom
docs/automate-meeting-archive
Open

Timur Tukaev (tym83) wants to merge 3 commits into
mainfrom
docs/automate-meeting-archive

Conversation

@tym83

@tym83 Timur Tukaev (tym83) commented Aug 10, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The archive only stayed accurate while someone remembered to append a row after each meeting, and it had already fallen a meeting behind.

What

A weekly workflow reads the Atom feed of the community meetings playlist and opens a pull request with any recording that is not listed yet. The meeting date is read from the video title or description, with day and month accepted in either order, and taken only when it is a Thursday within two weeks before publication. When no such date is found, the row falls back to the latest fortnightly slot after the newest listed meeting that is not after the publication date, and is flagged for review. The feed is retried with backoff, since it intermittently answers 404. The Topics column is left empty for a human to fill in from the notes.

Only meetings newer than the newest row are considered, so history is never rewritten. A cancelled meeting, or one held without a recording, produces nothing to detect — the archive now says so, and those rows stay a manual step for whoever ran or cancelled the meeting.

Why

No API key and no secret to provision: the playlist feed is public and carries the fifteen most recent entries, which is ample for a fortnightly meeting checked weekly. Nothing reaches main without review, and the job cannot invent a topic list.

Preview

Verified against the current archive: a clean run reports no new recordings, and with the newest row removed the script restores it with the correct date derived from the publication date, and recomputes the counts line.

The archive only stayed accurate while someone remembered to append a row after
each meeting, and it had already fallen a meeting behind. A weekly job now reads
the playlist feed and opens a pull request with any recording that is not listed
yet, leaving the Topics column for a human to fill in.

Signed-off-by: tym83 <6355522@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 0b9ca892-98e6-4eee-8a9c-ef2081f2e049
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Bring the archive automation up to date with main so it is reviewed
and tested against the current archive, which has meanwhile fallen
further behind the playlist.

Assisted-by: LLM
Signed-off-by: tym83 <6355522@gmail.com>
…est Thursday

Recordings are published anywhere from the same day to more than a week
after the meeting. Snapping the publication date to the nearest
Thursday therefore pushed most recent recordings onto the following
week: against the current playlist it would have dated the 20 Aug,
3 Sep and 17 Sep meetings as 27 Aug, 10 Sep and 24 Sep, without flagging
any of them.

The meeting date is in the video title or description, with day and
month in either order. Accept a reading only when it is a Thursday
within two weeks before publication, which for a fortnightly meeting
leaves a single candidate. Without one, fall back to the latest
fortnightly slot after the newest listed meeting that is not after the
publication date, and flag the row for review.

The playlist feed also has spells of answering 404, so retry with
backoff before failing the run.

Assisted-by: LLM
Signed-off-by: tym83 <6355522@gmail.com>
@tym83
Timur Tukaev (tym83) marked this pull request as ready for review October 5, 2026 07:42

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Timur Tukaev (@tym83) NOT LGTM. Each weekly run rebuilds the branch from main and force-pushes it, which throws away the Topics a reviewer has already filled in on the open PR.

Business context: the meeting archive falls behind whenever nobody remembers to add a row, and this adds a weekly job that opens a PR for new recordings.

  1. The PR body the job writes asks people to "fill it in from the meeting notes before merging". The natural place to do that is the update-meeting-archive branch. The next Friday run checks out main (line 25), where the new rows are not merged yet, so the script adds them again with empty Topics. Then git branch -D, a fresh commit and git push --force (line 54) replace the branch, and the reviewer's edits are gone. That happens every week until someone merges. One fix: when the PR is already open, check out that branch instead of main, so the script sees the rows as known and exits with "no new recordings".

  2. When the meeting date cannot be read from the text, the fallback can land on the newest listed date, and then the row is skipped silently at update-meeting-archive.py:135. For example, a recording without a date, published less than 14 days after the newest listed meeting, gives slots == 0, so date == newest_listed, so continue, with no output and no flag. The new README sentence says rows "are added automatically once it appears in the playlist", so this case should at least land in the "worth a look" list.

I ran the script on a trial merge with current main against the live feed. It adds 2026-08-20, 09-03, 09-17 and 10-01 with dates read from the descriptions, none flagged, and recomputes the counts line correctly. Repo workflow permissions allow GITHUB_TOKEN to open PRs, so the last step will work.

Non-blocking: 8aaf1f5 has no Assisted-by: LLM while the other two commits do.

git branch -D update-meeting-archive || true
git checkout -b update-meeting-archive
git commit --signoff -m "docs(meetings): add newly published meeting recordings"
git push --force --set-upstream origin update-meeting-archive

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the PR is open, main still lacks the new rows, so every weekly run regenerates them with empty Topics and force-pushes over whatever a reviewer filled in. Checking out the existing branch when the PR is open avoids it.

if video_id in known_videos:
continue
date, uncertain = meeting_date(f"{title}\n{description}", published, newest_listed)
if date <= newest_listed:

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With no date in the text and published - newest_listed < 14 days, the fallback returns newest_listed and the recording is dropped here with no output. I'd flag it rather than skip.

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.

2 participants