Skip to content

Commit

Permalink
Ignore non-version milestones
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanv committed Jun 2, 2023
1 parent f258967 commit 8977f3d
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 1 deletion.
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
This action attaches the next open milestone to a given PR, if that PR
was merged.

Currently, this action only looks at milestones that can be parsed as
version numbers.

A typical job would look like this:

```yaml
Expand Down
12 changes: 11 additions & 1 deletion next-milestone.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,27 @@
import requests
import argparse
from packaging.version import Version
from packaging.version import Version, InvalidVersion

parser = argparse.ArgumentParser()
parser.add_argument('owner_repo')
args = parser.parse_args()

owner, repo = args.owner_repo.split('/')


def is_version(v):
try:
Version(v)
return True
except InvalidVersion:
return False


# Get the list of milestones for the repository
milestones_url = f'https://api.github.com/repos/{owner}/{repo}/milestones'
response = requests.get(milestones_url)
milestones = response.json()
milestones = [m for m in milestones if is_version(m['title'])]
milestones = sorted(milestones, key=lambda x: Version(x['title']))

print(milestones[0]['number'])

0 comments on commit 8977f3d

Please # to comment.