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

[pull] master from python-semantic-release:master #116

Merged
merged 26 commits into from
Oct 9, 2024

Conversation

pull[bot]
Copy link

@pull pull bot commented Sep 26, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

wyardley and others added 2 commits September 24, 2024 19:55
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
@pull pull bot added the ⤵️ pull label Sep 26, 2024
codejedi365 and others added 24 commits September 27, 2024 01:05
* 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
Automatically generated by python-semantic-release
…#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
Automatically generated by python-semantic-release
…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.
…--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
Automatically generated by python-semantic-release
Automatically generated by python-semantic-release
@pull pull bot merged commit 18399a7 into Dresdn:master Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants