AcademySoftwareFoundation / AcademySoftwareFoundation/OpenTimelineIO

Automated release script - GitHub project repository status report

Open
#1,427 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
C++
Stars
2k
Forks
351
Avg merge
1d 12h
Merged PRs (30d)
1

Description

When creating a release, we now have the `make release` target. This takes care of a lot of code things, but I realize there is Github API to handle repo things. That target is here:

https://github.com/AcademySoftwareFoundation/OpenTimelineIO/blob/b1931689dc2722396733d6830e928be614f0856a/Makefile#L259

This is from our release process wiki:

1. Accept or reschedule (to a later milestone) any open PRs assigned to this milestone:L https://github.com/PixarAnimationStudios/OpenTimelineIO/pulls
2. Check the Github Actions status and make sure there are no failures (`make lint`, `make test`): https://github.com/AcademySoftwareFoundation/OpenTimelineIO/actions
3. Going through the github issue tracker: https://github.com/PixarAnimationStudios/OpenTimelineIO/issues
* Open issues from this milestone should be closed or resorted to later milestones
* Open issues with no milestone, make sure that none of them got done this milestone and should be closed (or that they belong in the next milestone)
* Closed issues that have no milestone (make sure they get sorted into the correct milestone, likely just added to the current milestone)
* Closed issues from the next milestone (to make sure they shouldn't be added to this milestone)

...

* Create a milestone for the version past the current one. This has been useful to sort things into "stuff we're doing now, stuff we're doing soon, and stuff we're doing someday" (current milestone, next milestone, 1.0/next major version milestone).

It would be cool to have a script that:

- [ ] queried the GitHub action status on Head and made sure the build was clean
- [ ] Gave a report of Issues/PRs assigned to the milestone that are still open
- [ ] Closed issues that were closed since the last release but have no milestone
- [ ] And creating a milestone for the version past the next one if it doesn't exist (for example, if creating version 0.16, make sure that milestone 0.17 is there)

Actually closing the milestones, or reshuffling open issues is probably left to human intervention, but having a dashboard to look at rather than changing a bunch of things in the issues interface would help clarify the task.

Contributor guide

Open the contributing guide

Research direction

Start with the make release target in Makefile and compare it with the release process wiki linked in the issue. Review the GitHub Actions status and milestone, issue, and pull request workflows described there. Done means a report covers build status, open milestone items, unmilestoned closed issues, and creation of the milestone after the next version.

Written by the indexing model from the issue text.

Assessment

Tech stack
github, github-actions
Domain
ci-cd, release
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.