Skip to content

Conversation

@leandro-lucarella-frequenz
Copy link
Contributor

This PR includes several unrelated improvements to be able to do the first open source release:

Project metadata and packaging:

  • Move project metadata/config to pyproject.toml
  • Add extra metadata to pyproject.toml
  • Exclude supporting files from the distribution

Automation improvements:

  • Add automatic pull request labeler
  • Bump action versions
  • Run the workflow for all branches
  • Test using all supported Python versions

Releasing:

  • Publish distribution files to PyPI
  • Create GitHub Release automatically
  • Create contributing guide
  • Add releasing instruction to CONTRIBUTING.md

We also remove both the setup.cfg and setup.py files as they are not
required by newer versions of pip.

Signed-off-by: Leandro Lucarella <[email protected]>
Exclude files used for version control, testing, benchmarking, etc. from
the source distribution, which only needs the files to build a wheel.

Signed-off-by: Leandro Lucarella <[email protected]>
Add the following configuration keys to have more complete and
descriptive metadata:

* readme
* keywords
* classifiers
* project.authors.email
* project.urls

Signed-off-by: Leandro Lucarella <[email protected]>
Increment the used action versions just to avoid using unmaintained
versions.

Signed-off-by: Leandro Lucarella <[email protected]>
There is no need to limit ourselves to one particular branch. This also
doesn't require touching the workflow file each time we create a new
branch.

Signed-off-by: Leandro Lucarella <[email protected]>
Add steps to publish distribution files to PyPI when a tag is created.

Signed-off-by: Leandro Lucarella <[email protected]>
Add a GitHub job to create the GitHub Release automatically when
a version is tagged. Also use the GitHub feature to create the CHANGELOG
automatically. When creating the GitHub release the contents of the file
RELEASE_NOTES.md will be used as release notes, so it should only
contain an explanation on the release main changes and be user-facing.

Also add the release notes for the current release.

Signed-off-by: Leandro Lucarella <[email protected]>
Add a CONTRIBUTING.md guide explaining how to build, test and setup
a development environment. Also mention the contributing guide in the
README.md.

Signed-off-by: Leandro Lucarella <[email protected]>
Also add a RELEASE_NOTES template, so when releasing new versions is
easy to clear the release notes by just copying the template.

Signed-off-by: Leandro Lucarella <[email protected]>
@leandro-lucarella-frequenz
Copy link
Contributor Author

@leandro-lucarella-frequenz leandro-lucarella-frequenz merged commit 2f38f34 into frequenz-floss:v0.x.x Sep 23, 2022
@leandro-lucarella-frequenz leandro-lucarella-frequenz deleted the finish-release branch September 23, 2022 12:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

part:docs Affects the documentation part:tooling Affects the development tooling (CI, deployment, dependency management, etc.) type:enhancement New feature or enhancement visitble to users

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add CONTRIBUTING.md and RELEASE_NOTES.md Add automatic pull request labeler Create GitHub Release automatically Upload packages to PyPI

4 participants