Skip to content

v0.32.0

Compare
Choose a tag to compare
@actions-helper actions-helper released this 08 Mar 20:00
· 48 commits to main since this release

v0.32.0 (2024-03-08)

Chore

  • chore: github-actions: Bump bats-core/bats-action from 1.5.5 to 1.5.6 (#471)

Bumps bats-core/bats-action
from 1.5.5 to 1.5.6.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/bats-core/bats-action/releases&#34;&gt;bats-core/bats-action&#39;s
releases</a>.</em></p>
<blockquote>
<h2>1.5.6</h2>
<!-- raw HTML omitted -->
<h2>What's Changed</h2>
<h3>🏕 Features</h3>
<ul>
<li>chore: update detik to 1.3.0 by <a
href="https://github.com/brokenpip3&#34;&gt;&lt;code&gt;@​brokenpip3&lt;/code&gt;&lt;/a> in <a
href="https://redirect.github.com/bats-core/bats-action/pull/3&#34;&gt;bats-core/bats-action#3&lt;/a&gt;&lt;/li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="bats-core/bats-action@1.5.5...1.5.6&#34;&gt;https://github.com/bats-core/bats-action/compare/1.5.5...1.5.6&lt;/a&gt;&lt;/p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bats-core/bats-action@0ae349dad1aa69308725a48b91b5d6ca647040bc&#34;&gt;&lt;code&gt;0ae349d&lt;/code&gt;&lt;/a>
Merge pull request <a
href="https://redirect.github.com/bats-core/bats-action/issues/3&#34;&gt;#3&lt;/a>
from bats-core/detik-1.3.0</li>
<li><a
href="bats-core/bats-action@e28687b52387d88acbd199216d8f65e00e40881a&#34;&gt;&lt;code&gt;e28687b&lt;/code&gt;&lt;/a>
update detik to 1.3.0</li>
<li>See full diff in <a
href="bats-core/bats-action@1.5.5...1.5.6&#34;&gt;compare
view</a></li>
</ul>
</details>
<br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.


<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits
    that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after
    your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge
    and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
  • @dependabot show &lt;dependency name&gt; ignore conditions will show all
    of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (389215f)

  • chore: pip: Bump pytest from 8.0.2 to 8.1.0 (#473)

Bumps pytest from 8.0.2 to
8.1.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pytest-dev/pytest/releases&#34;&gt;pytest&#39;s
releases</a>.</em></p>
<blockquote>
<h2>8.1.0</h2>
<h1>pytest 8.1.0 (2024-03-03)</h1>
<h2>Features</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11475&#34;&gt;#11475&lt;/a>:
Added the new <code>consider_namespace_packages</code>{.interpreted-text
role=&quot;confval&quot;} configuration option, defaulting to
<code>False</code>.</p>
<p>If set to <code>True</code>, pytest will attempt to identify modules
that are part of <a
href="https://packaging.python.org/en/latest/guides/packaging-namespace-packages&#34;&gt;namespace
packages</a> when importing modules.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11653&#34;&gt;#11653&lt;/a>:
Added the new <code>verbosity_test_cases</code>{.interpreted-text
role=&quot;confval&quot;} configuration option for fine-grained control
of test execution verbosity.
See <code>Fine-grained verbosity
&lt;pytest.fine_grained_verbosity&gt;</code>{.interpreted-text
role=&quot;ref&quot;} for more details.</p>
</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10865&#34;&gt;#10865&lt;/a>:
<code>pytest.warns</code>{.interpreted-text role=&quot;func&quot;} now
validates that <code>warnings.warn</code>{.interpreted-text
role=&quot;func&quot;} was called with a [str]{.title-ref} or a
[Warning]{.title-ref}.
Currently in Python it is possible to use other types, however this
causes an exception when
<code>warnings.filterwarnings</code>{.interpreted-text
role=&quot;func&quot;} is used to filter those warnings (see [CPython <a
href="https://redirect.github.com/pytest-dev/pytest/issues/103577">#103577</a>](<a
href="https://redirect.github.com/python/cpython/issues/103577&#34;&gt;python/cpython#103577&lt;/a>)
for a discussion).
While this can be considered a bug in CPython, we decided to put guards
in pytest as the error message produced without this check in place is
confusing.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11311&#34;&gt;#11311&lt;/a>:
When using <code>--override-ini</code> for paths in invocations without
a configuration file defined, the current working directory is used
as the relative directory.</p>
<p>Previoulsy this would raise an
<code>AssertionError</code>{.interpreted-text
role=&quot;class&quot;}.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11475&#34;&gt;#11475&lt;/a>:
<code>--import-mode=importlib
&lt;import-mode-importlib&gt;</code>{.interpreted-text
role=&quot;ref&quot;} now tries to import modules using the standard
import mechanism (but still without changing
:py<code>sys.path</code>{.interpreted-text role=&quot;data&quot;}),
falling back to importing modules directly only if that fails.</p>
<p>This means that installed packages will be imported under their
canonical name if possible first, for example
<code>app.core.models</code>, instead of having the module name always
be derived from their path (for example
<code>.env310.lib.site_packages.app.core.models</code>).</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11801&#34;&gt;#11801&lt;/a>:
Added the <code>iter_parents()
&lt;_pytest.nodes.Node.iter_parents&gt;</code>{.interpreted-text
role=&quot;func&quot;} helper method on nodes.
It is similar to <code>listchain
&lt;_pytest.nodes.Node.listchain&gt;</code>{.interpreted-text
role=&quot;func&quot;}, but goes from bottom to top, and returns an
iterator, not a list.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11850&#34;&gt;#11850&lt;/a>:
Added support for <code>sys.last_exc</code>{.interpreted-text
role=&quot;data&quot;} for post-mortem debugging on Python&gt;=3.12.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11962&#34;&gt;#11962&lt;/a>:
In case no other suitable candidates for configuration file are found, a
<code>pyproject.toml</code> (even without a
<code>[tool.pytest.ini_options]</code> table) will be considered as the
configuration file and define the <code>rootdir</code>.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11978&#34;&gt;#11978&lt;/a>:
Add <code>--log-file-mode</code> option to the logging plugin, enabling
appending to log-files. This option accepts either
<code>&quot;w&quot;</code> or <code>&quot;a&quot;</code> and defaults to
<code>&quot;w&quot;</code>.</p>
<p>Previously, the mode was hard-coded to be <code>&quot;w&quot;</code>
which truncates the file before logging.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12047&#34;&gt;#12047&lt;/a>:
When multiple finalizers of a fixture raise an exception, now all
exceptions are reported as an exception group.
Previously, only the first exception was reported.</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11904&#34;&gt;#11904&lt;/a>:
Fixed a regression in pytest 8.0.0 that would cause test collection to
fail due to permission errors when using <code>--pyargs</code>.</p>
<p>This change improves the collection tree for tests specified using
<code>--pyargs</code>, see <code>12043</code>{.interpreted-text
role=&quot;pull&quot;} for a comparison with pytest 8.0 and &lt;8.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="pytest-dev/pytest@b9a167f9bbbd6eda4f0360c5bf5b7f5af50f2bc4&#34;&gt;&lt;code&gt;b9a167f&lt;/code&gt;&lt;/a>
Prepare release version 8.1.0</li>
<li><a
href="pytest-dev/pytest@00043f7f1047b29fdaeb18e169fe9d6146988cb8&#34;&gt;&lt;code&gt;00043f7&lt;/code&gt;&lt;/a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12038&#34;&gt;#12038&lt;/a>
from bluetech/fixtures-rm-arg2index</li>
<li><a
href="pytest-dev/pytest@f4e10251a4a003495b5228cea421d4de5fa0ce89&#34;&gt;&lt;code&gt;f4e1025&lt;/code&gt;&lt;/a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12048&#34;&gt;#12048&lt;/a>
from bluetech/fixture-teardown-excgroup</li>
<li><a
href="pytest-dev/pytest@43492f5707b38dab9b62dfb829bb41a13579629f&#34;&gt;&lt;code&gt;43492f5&lt;/code&gt;&lt;/a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12051&#34;&gt;#12051&lt;/a>
from jakkdl/test_debugging_pythonbreakpoint</li>
<li><a
href="pytest-dev/pytest@82fe28dae4eec900123175cee87245f37b964e5c&#34;&gt;&lt;code&gt;82fe28d&lt;/code&gt;&lt;/a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12049&#34;&gt;#12049&lt;/a&gt;)&lt;/li>
<li><a
href="pytest-dev/pytest@5e2ee7175c145f84ff9882be9496abb56e6e56f2&#34;&gt;&lt;code&gt;5e2ee71&lt;/code&gt;&lt;/a>
monkeypatch.delenv PYTHONBREAKPOINT in two tests that previously
failed/skipped</li>
<li><a
href="pytest-dev/pytest@89ee4493ccbcd118349082cd78eb52a761683120&#34;&gt;&lt;code&gt;89ee449&lt;/code&gt;&lt;/a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/11997&#34;&gt;#11997&lt;/a>
from nicoddemus/11475-importlib</li>
<li><a
href="pytest-dev/pytest@8248946a552635f5751a58c7a6dfd24e98db7404&#34;&gt;&lt;code&gt;8248946&lt;/code&gt;&lt;/a>
Do not collect symlinked tests under Windows (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12050&#34;&gt;#12050&lt;/a&gt;)&lt;/li>
<li><a
href="pytest-dev/pytest@434282e17f5f1f4fcc1464a0a0921cf19804bdd7&#34;&gt;&lt;code&gt;434282e&lt;/code&gt;&lt;/a>
fixtures: use exception group when multiple finalizers raise in fixture
teardown</li>
<li><a
href="pytest-dev/pytest@d6134bc21e27efee7a2e264bd089e6c223515904&#34;&gt;&lt;code&gt;d6134bc&lt;/code&gt;&lt;/a>
doc: document consider_namespace_packages option</li>
<li>Additional commits viewable in <a
href="pytest-dev/pytest@8.0.2...8.1.0&#34;&gt;compare
view</a></li>
</ul>
</details>
<br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.


<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits
    that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after
    your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge
    and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
  • @dependabot show &lt;dependency name&gt; ignore conditions will show all
    of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)

</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> (abf1a08)

  • chore: fix secureli version bug in non secureli repo (#467)

secureli-466

<!-- Include general description here -->
Fix for issue where secureli --version errors out when not run in a repo
that has secureli initialized.

Changes

<!-- A detailed list of changes -->

  • Fixed bug

Testing

<!--
Mention updated tests and any manual testing performed.
Are aspects not yet tested or not easily testable?
Feel free to include screenshots if appropriate.
-->

  • Added unit tests
  • All existing unit tests passing

Clean Code Checklist

<!-- This is here to support you. Some/most checkboxes may not apply to
your change -->

  • Meets acceptance criteria for issue
  • New logic is covered with automated tests
  • Appropriate exception handling added
  • Thoughtful logging included
  • Documentation is updated
  • Follow-up work is documented in TODOs
  • TODOs have a ticket associated with them
  • No commented-out code included

<!--
Github-flavored markdown reference:
https://docs.github.com/en/get-started/writing-on-github
--> (f25712d)

Documentation

  • docs: Include links to external documentation (#468)

secureli-442

Includes links to external documentation in CONTRIBUTING.md

Changes

  • Includes links to external docs

Testing

  • N/A

Clean Code Checklist

<!-- This is here to support you. Some/most checkboxes may not apply to
your change -->

  • Meets acceptance criteria for issue
  • New logic is covered with automated tests
  • Appropriate exception handling added
  • Thoughtful logging included
  • Documentation is updated
  • Follow-up work is documented in TODOs
  • TODOs have a ticket associated with them
  • No commented-out code included

<!--
Github-flavored markdown reference:
https://docs.github.com/en/get-started/writing-on-github
-->


Co-authored-by: Kathleen Hogan <kathleenhogan@thessagroup.com>
Co-authored-by: Jordan Heffernan <44213782+JordoHeffernan@users.noreply.github.com> (0ae6955)

Feature

  • feat: Use custom pre-commit config file (#411)

secureli-373

Migrates .pre-commit-config.yaml into the .secureli/ directory. This
directory was previously ignored by git, so I moved its existing
contents into .secureli/local/ and told git to only ignore that
subfolder. Using a nonstandard path for .pre-commit-config.yaml will
allow our tool to not destroy any existing configuration/hooks, and
allows us to sidestep much of the complexity of attempting to merge our
hooks with existing hooks.

There are a lot of repeated hardcoded strings in this PR. I'm inclined
to not do too much refactoring/rework to clean that up, since I'd like
to do some significant refactoring in the near future.

Open Questions

  • I opted to keep the file name the same, but I don't love having a
    hidden file in the hidden folder (feels excessively "hidden"). I'm open
    to suggestions of whether pre-commit-config.yaml is better than
    .pre-commit-config.yaml.
  • This will break existing installations of secureli, so we should
    probably think about adding an automatic migration path prior to merging
    this. When secureli is invoked in a repo with an existing secureli
    installation, the user is met with this prompt: seCureLI has not yet been installed, install now? [Y/n]:

Testing

  • Existing unit tests pass
  • Manually tested by running secureli init in a new repository, then
    validated the contents & paths of the generated files.

Co-authored-by: Bob McHenry <bob.mchenry@slalom.com>
Co-authored-by: Jordan Heffernan <jordan.heffernan@slalom.com>
Co-authored-by: Jordan Heffernan <44213782+JordoHeffernan@users.noreply.github.com> (00401c5)