Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue 91: CHANGELOG.rst: Update for initial release #93

Merged
merged 2 commits into from
Oct 7, 2023

Conversation

sjlongland
Copy link
Collaborator

@sjlongland sjlongland commented Oct 5, 2023

Release 0.1.0 is imminent now.

Closes issue #91.

@sjlongland sjlongland force-pushed the feature/update-changelog-release-0.1 branch from 4fefddf to 98bfb17 Compare October 5, 2023 08:06
@sjlongland
Copy link
Collaborator Author

… let me fix that bad spelling. :-)

@diazona
Copy link
Owner

diazona commented Oct 5, 2023

Since I'm pretty tired let me come back to review this tomorrow, if you don't mind.

@diazona diazona self-assigned this Oct 5, 2023
@diazona
Copy link
Owner

diazona commented Oct 5, 2023

What do you think about adding extra changelog entries for all the features that came before? Basically I'm thinking that we just go back and create a quick changelog fragment for each notable issue that was solved in getting up to this point - it'll be easy enough to get a list of the issues and should be no problem to pick out the notable ones - and then run towncrier with all those changelog fragments in place so it comes out as if we've been maintaining the changelog all along. (Not that anyone will be fooled, the Git history shows what happened; it's more about just documenting the progress up to this point. I'm thinking if we're going to have a changelog we might as well be somewhat thorough about it.)

@sjlongland
Copy link
Collaborator Author

Yep… might be able to pull out a list of the issues fixed through the Github APIs to dump the material out.

@sjlongland
Copy link
Collaborator Author

Fumbled my way through it…

# Type queries here, and you will see intelligent autosuggestions
# aware of GitHub's current GraphQL schema, equipped with live
# syntax and validation errors highlighted within the text. We'll
# get you started with a simple query showing your username!

query {
  repository(owner:"diazona", name:"setuptools-pyproject-migration") {
    issues(states:CLOSED, first:100) {
      nodes {
        number
        title
        labels(first:10) {
          nodes {
            name
          }
        }
      }
    }
  }
}
{
  "data": {
    "repository": {
      "issues": {
        "nodes": [
          {
            "number": 9,
            "title": "Update development status to 3",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 10,
            "title": "Add Stuart as a collaborator on PyPI",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 18,
            "title": "Set up documentation on ReadTheDocs",
            "labels": {
              "nodes": [
                {
                  "name": "documentation"
                }
              ]
            }
          },
          {
            "number": 19,
            "title": "Add Stuart as a collaborator on ReadTheDocs",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 20,
            "title": "Rewrite release logic",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 28,
            "title": "Support authors and maintainers",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 29,
            "title": "Support classifiers",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 30,
            "title": "Support description",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 31,
            "title": "Support keywords",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 32,
            "title": "Support license",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 33,
            "title": "Support readme",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 34,
            "title": "Support requires-python",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 35,
            "title": "Support urls",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 36,
            "title": "Support entry points",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 37,
            "title": "Support extras",
            "labels": {
              "nodes": [
                {
                  "name": "enhancement"
                },
                {
                  "name": "good first issue"
                },
                {
                  "name": "setuptools-fields"
                }
              ]
            }
          },
          {
            "number": 38,
            "title": "Enable pre-commit.ci",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 39,
            "title": "Separate static checks from pytest",
            "labels": {
              "nodes": [
                {
                  "name": "bug"
                }
              ]
            }
          },
          {
            "number": 43,
            "title": "Configure trusted publishing",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 61,
            "title": "Remove maximum setuptools version once the circular import issue is resolved",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 71,
            "title": "Write some meaningful documentation",
            "labels": {
              "nodes": [
                {
                  "name": "documentation"
                }
              ]
            }
          },
          {
            "number": 86,
            "title": "Slow tests do not run from manually triggered workflows",
            "labels": {
              "nodes": []
            }
          },
          {
            "number": 88,
            "title": "Enable towncrier",
            "labels": {
              "nodes": [
                {
                  "name": "documentation"
                }
              ]
            }
          }
        ]
      }
    }
  }
}

@sjlongland sjlongland force-pushed the feature/update-changelog-release-0.1 branch from 98bfb17 to c46b9ba Compare October 6, 2023 00:54
@sjlongland
Copy link
Collaborator Author

RC=0 stuartl@rikishi ~/projects/setuptools-pyproject-migration/work $ ipython3
Python 3.11.5 (main, Aug 27 2023, 13:49:13) [GCC 12.3.1 20230526]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.12.0 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import os, json

In [2]: issues = json.loads(open("/tmp/issues.json","r").read())['data']['repository']['issues']['nodes']

In [3]: for i in issues:
   ...:     labels = set(l['name'] for l in i['labels']['nodes'])
   ...:     if 'enhancement' in labels:
   ...:         t='feature'
   ...:     elif 'documentation' in labels:
   ...:         t='doc'
   ...:     else:
   ...:         t='fixed'
   ...:     fn = 'changelog.d/%d.%s' % (i['number'], t)
   ...:     if os.path.isfile(fn):
   ...:         continue
   ...:     with open(fn, "w") as f:
   ...:         f.write(i['title'])
   ...: 

I deleted some trivial issues like #10… but that brought everything across.

Copy link
Owner

@diazona diazona left a comment

Choose a reason for hiding this comment

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

Ah sure, this works. (I was also thinking it'd be within the scope of doing manually, but it's all good.)

@diazona diazona merged commit ddadec2 into main Oct 7, 2023
10 checks passed
@diazona diazona deleted the feature/update-changelog-release-0.1 branch October 7, 2023 08:11
@diazona diazona linked an issue Oct 8, 2023 that may be closed by this pull request
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.

Generate changelog for initial release
2 participants