You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pyuploadtool now generates changelog for GitHub releases
which is opt-in. Changelogs will be generated only when
GENERATE_CHANGELOG=true
feat: prepend the metadata.description with the generated changelog
fix: rename get_changelog to render_to_markdown
its a more intuitive function name and clearly explains
that the output is a string of markdown data
fix: do not replace the existing metadata description, but append to it
feat: expose get_changelog
this function can in be future be replaced by a
a changelog handling object
feat: add support for restrictive conventional commit spec
fix: remove redundant comment
style: add more blank lines
feat: restructure changelog generator
style: format with black
fix: circular imports on changelog
docs: update documentation to show CHANGELOG support
refactor: complete refactor from Parser to ChangelogParser
fix: refactor to use attributes for Commit object instead of dict.get
fix: for github releases, set the commit_prefix_link
style: lint with black
style: move ReleaseUpdate below .. imports (pep8)
fix: convert Changelog.structure to staticmethod
feat: use NamedTuple instead of complicating the implementation
style: remove redundant _ prefixes to local variables
style: remove redundant line
feat: do not edit metadata in the release provider
fix: docstrings for Changelog.changelog, Changelog.structure
fix: use type annotations instead of type in docstrings
refactor: ChangelogCommit to ChangelogEntry to make it more general
fix: allow providing lowercase values for CHANGELOG_TYPE env variable
feat: remove the need to specify CHANGELOG_GENERATE environment variable.
Automatically generate changelog if CHANGELOG_TYPE is defined to 'standard' or 'conventional'
docs: improve docstrings of MarkdownChangelogParser.render_to_markdown
docs: improve docstrings of Changelog.structure
Add support for scheduled and manual builds
Print non-string types properly
Improve logging
Convert metadata to correct types
Fix comparison (and show intention more clearly)
Check code format with black
Run checks on PRs as well
Use poetry to manage dependencies in CI
Debug dependencies installatino
Forgot to check out the code
Format YAML properly
Add incomplete list of projects using pyuploadtool
Pin poetry version
Workaround for python-poetry/poetry#3153.
Fix type issue
When calling sanitize on an int, e.g., the pipeline run number, it might fail as the passed type is not iterable. This little fix makes sure whatever is passed is interpreted as a string.
fix: remove redundant imports
fix: do not attempt to generate changelog if the previous tag is missing
fix: changelog.structure is not a property
fix: ChangelogEntry should not be a tuple, because it needs to be edited runtime
... and a lot more! Some projects can be found [on GitHub](https://github.com/search?q=pyuploadtool&type=code).
22
+
23
+
8
24
## Usage
9
25
10
26
Using this tool is fairly straightforward. Ideally, in one of the supported build environments, all you have to do is to run it! The tool figures out its configuration from the environment variables (which either are provided by the build system, or set by the user).
@@ -24,7 +40,7 @@ The tool can easily upload files to *GitHub releases* if you make the `GITHUB_TO
24
40
25
41
An example pipeline step look like this:
26
42
27
-
```
43
+
```yaml
28
44
- name: Create release and upload artifacts
29
45
env:
30
46
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -38,7 +54,7 @@ If you want to upload to WebDAV, too, you could use the following step:
38
54
39
55
An example pipeline step look like this:
40
56
41
-
```
57
+
```yaml
42
58
- name: Create release and upload artifacts
43
59
env:
44
60
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -69,3 +85,18 @@ You can upload to any WebDAV server which supports `PUT` operations. The followi
69
85
- `$WEBDAV_RELEASE_NAME`: name of the release directory (optional on *GitHub actions*)
70
86
71
87
**Note:** Secrets must not be stored inside the repository, nor be visible to end users. You need to store them securely, ideally using the credentials storage your build system provides (on GitHub actions, there's *Secrets*, for instance).
88
+
89
+
90
+
## Changelog Generation
91
+
`pyuploadtool`support Changelog generation, which is optional, and can be enabled with the `CHANGELOG_TYPE` environment variable.
92
+
```bash
93
+
CHANGELOG_TYPE=standard ./pyuploadtool*.AppImage
94
+
```
95
+
96
+
### Changelog Types
97
+
`CHANGELOG_TYPE` can have any of the following values:
98
+
* `CHANGELOG_TYPE=none`, to disable generating Changelog (default)
99
+
* `CHANGELOG_TYPE=standard`, Standard Changelog
100
+
* `CHANGELOG_TYPE=conventional`, Conventional changelog, follows the [Conventional Commit Spec](https://www.conventionalcommits.org/) which classifies your commits as Features, Bug Fixes, etc, provided your commits follow the spec.
101
+
102
+
By default, `CHANGELOG_TYPE` is `none` unless explicitly specified.
0 commit comments