forked from python-semantic-release/python-semantic-release
-
Notifications
You must be signed in to change notification settings - Fork 0
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
[pull] master from python-semantic-release:master #116
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set `ignore-module-all` for `autodoc_default_options` to resolve some Sphinx errors about duplicate / ambiguous references sphinx-doc/sphinx#4961 (comment) Standardize some non-standard (Google-ish) docstrings to Sphinx format, to avoid ruff and Sphinx arguing about underline length. Fix indents and other minor whitespace / formatting changes. Fixes #1029
* chore(gha): update action details for marketplace publishing * docs(homepage): re-structure homepage to be separate from project readme * docs(README): simplify README to point at official docs
…ie. json, yaml, etc) (#1028) * fix(version-cmd): increase `version_variable` flexibility with quotations (ie. json, yaml, etc) Previously json would not work due to the key being wrapped in quotes, yaml also has issues when it does not usually use quotes. The regex we created originally only wrapped the version to be replaced in quotes but now both the key and version can optionally be wrapped in different kind of quotations. Resolves: #601, #706, #962, #1026 * docs(configuration): add clarity to `version_variables` usage & limitations Ref: #941 * fix(version-cmd): ensure `version_variables` do not match partial variable names * build(deps-test): add `PyYAML` as a test dependency * test(fixtures): refactor location of fixture for global use of cli runner * test(stamp-version): add test cases to stamp json, python, & yaml files
…#1011) Resolves: #907 * chore(scripts): remove non-existant file from version bump script * docs(automatic-releases): drop extrenous github push configuration * docs(homepage): remove link to old github config & update token scope config * docs(github-actions): expand descriptions & clarity of actions configs * docs(github-actions): add configuration & description of publish action * docs(github-actions): revert removal of namespace prefix from examples
I am removing the beautify job because it causes more issues with rapid PR completion as it will error if two PRs are merged within the test window. Now that the test window is around 12 minutes, its easy to cause an issue. Plus I am not quite convinced that we should be giving it write access to the repo to modify code arbitrarily.
#1038) * test(github-actions): add test to ensure `is_prerelease` is a action output * docs(github-actions): add description of new `is_prerelease` output for version action
…started on This change comes because if we merge into main multiple times but the action flow for the first merge was still running it will release on commits that were not considered yet. This happened with `v9.9.0`. This change ensures that the commit that triggered the workflow is the one that has the release decision performed on. This change inline with the concurrency directive should prevent out of order releases from occuring.
… to current HEAD (#1040)
…compliant newlines
…--skip-build` option (#1044) * docs(commands): update definition of the version commands `--skip-build` option * docs(github-actions): add description of the `build` input directive
…es (#1045) * feat(changelog): add `read_file` function to changelog template context This feature adds a filter that will enable jinja templates to read a file from the repository into memory to then use as output within the template. The primary use for this is to read in a previous changelog file which then the template can give the illusion of insertion as it re-writes the entire file. * feat(changelog): add `changelog_mode` to changelog template context Adds a flag that can be passed to the templating environment to allow for triggering an update mode of a changelog versions an initialization mode. The usage is up to the template developer but for PSR it is used to handle changelog generation vs changelog updating. * feat(changelog): add `prev_changelog_file` to changelog template context This adds a string that represents a filename to a previous changelog file which can be read from inside the template context. The primary use is for enabling the updating of a changelog through jinja templating. * feat(changelog): add `changelog_insertion_flag` to changelog template context This adds a customizable string to the jinja templating context which allows users to use the PSR configuration to pass a custom insertion flag into the templating context. This is intended for use with initializing a changelog and then updating it from that point forward. * feat(changelog): add shorthand `ctx` variable to changelog template env * refactor(changelog): change recursive render to not use file streaming It would be nice to maintain file streaming for better memory usage but it prevents the ability to read the file contents previously from within the template which is a desire in order to insert into a previous changelog. In this case, the memory usage is likely not a problem for large text files. * fix(config): prevent jinja from autoescaping markdown content by default Since this project is generally rendering non-html content such as RST or MD, change the default of the jinja autoescape parameter to false instead of true. When it was true, it would automatically convert any `&` ampersands to its htmlentity equivalent `&` which is completely unnecessary and unreadable in non-html documents. * docs(configuration): update `changelog.environment.autoescape` default to `false` to match code * docs(configuration): standardize all true/false to lowercase ensuring toml-compatibility * feat(config): add `changelog.mode` as configuration option * feat(config): add `changelog.insertion_flag` as configuration option * refactor(config): use `changelog.changelog_file` as previous changelog file for target for update * style(config): alphabetize changelog configuration options * docs(configuration): add `changelog.mode` and `changelog.insertion_flag` config definitions * fix(changelog): adjust angular heading names for readability * feat(changelog): modify changelog template to support changelog updates By popular demand, the desire to only prepend new information to the changelog is now possible given the `changelog.mode = update` configuration option. Resolves: #858, #722 * refactor(errors): add new generic internal error for tragic improbable flaws * fix(changelog): ensure changelog templates can handle complex directory includes * feat(config): add `changelog.default_templates.output_format` config option * fix(changelog): only render user templates when files exist This change ensures that we will use our default even when the user only overrides the release notes template. It also must have jinja templates in the folder otherwise we will render the default changelog. * refactor(changelog): enable default changelog rendering of multiple template parts * refactor(changelog): change rendering of default release notes to new template structure * refactor(context): use pathlib instead of context manager to read file * test(fixtures): update changelog generator format & angular heading names * test(angular): adjust test of commit type to section header * test(changelog): update make changelog context function call * test(release-notes): update test related to release notes generation * test(fixtures): add processing to filter out repo definitions for partial changelogs * test(fixtures): update repo generators to update changelogs w/ every version * test(fixtures): slow down repo generators to prevent git failures from same timestamps * test(fixtures): update changelog generator to include insertion flag * refactor(changelog): fix template to handle update when no releases exist * refactor(changelog): adjust template to use improved release object * refactor(changelog): improve resilence & non-existant initial changelog * style(changelog-templates): maintain 2-spaces indentation throughout jinja templates * refactor(changelog): ensure cross-platform template includes with jinja compatibility * test(changelog-cmd): add tests to evaluate variations of the changelog update mode * test(version-cmd): add tests to evaluate variations of the changelog update mode * refactor(release-notes): normalize line endings to universal newlines & always end with newline * refactor(changelog): ensure default changelog renders w/ universal newlines & writes as os-specific * test(changelog): update changelog testing implementation to be newline aware * test: update tests to use cross-platform newlines where appropriate * docs(changelog-templates): improve detail & describe new `changelog.mode="update"` * docs(configuration): mark version of configuration setting introduction * docs(homepage): update custom changelog reference * refactor(changelog): adjust read_file filter to read file as os-newline aware * refactor(changelog): apply forced universal newline normalizer on default changelog * test(changelog): adjust implementation to consistently work on windows * test(version): adjust implementation to consistently work on windows * refactor(changelog-template): only add insertion flag if in update mode * test(changelog): adjust test to handle changelog regeneration in init mode * refactor(changelog-templates): adjust init template to clean up extra newlines * test(changelog): adjust expected output after cleaned up newlines * docs(configuration): define the new `changelog.default_templates.output_format` option
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )