v0.32.0
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">bats-core/bats-action'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"><code>@brokenpip3</code></a> in <a
href="https://redirect.github.com/bats-core/bats-action/pull/3">bats-core/bats-action#3</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="bats-core/bats-action@1.5.5...1.5.6">https://github.com/bats-core/bats-action/compare/1.5.5...1.5.6</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="bats-core/bats-action@0ae349dad1aa69308725a48b91b5d6ca647040bc"><code>0ae349d</code></a>
Merge pull request <a
href="https://redirect.github.com/bats-core/bats-action/issues/3">#3</a>
from bats-core/detik-1.3.0</li>
<li><a
href="bats-core/bats-action@e28687b52387d88acbd199216d8f65e00e40881a"><code>e28687b</code></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">compare
view</a></li>
</ul>
</details>
<br />
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 <dependency name> 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">pytest'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">#11475</a>:
Added the new <code>consider_namespace_packages</code>{.interpreted-text
role="confval"} 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">namespace
packages</a> when importing modules.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11653">#11653</a>:
Added the new <code>verbosity_test_cases</code>{.interpreted-text
role="confval"} configuration option for fine-grained control
of test execution verbosity.
See <code>Fine-grained verbosity
<pytest.fine_grained_verbosity></code>{.interpreted-text
role="ref"} for more details.</p>
</li>
</ul>
<h2>Improvements</h2>
<ul>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/10865">#10865</a>:
<code>pytest.warns</code>{.interpreted-text role="func"} now
validates that <code>warnings.warn</code>{.interpreted-text
role="func"} 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="func"} 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">python/cpython#103577</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">#11311</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="class"}.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11475">#11475</a>:
<code>--import-mode=importlib
<import-mode-importlib></code>{.interpreted-text
role="ref"} now tries to import modules using the standard
import mechanism (but still without changing
:py<code>sys.path</code>{.interpreted-text role="data"}),
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">#11801</a>:
Added the <code>iter_parents()
<_pytest.nodes.Node.iter_parents></code>{.interpreted-text
role="func"} helper method on nodes.
It is similar to <code>listchain
<_pytest.nodes.Node.listchain></code>{.interpreted-text
role="func"}, 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">#11850</a>:
Added support for <code>sys.last_exc</code>{.interpreted-text
role="data"} for post-mortem debugging on Python>=3.12.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/11962">#11962</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">#11978</a>:
Add <code>--log-file-mode</code> option to the logging plugin, enabling
appending to log-files. This option accepts either
<code>"w"</code> or <code>"a"</code> and defaults to
<code>"w"</code>.</p>
<p>Previously, the mode was hard-coded to be <code>"w"</code>
which truncates the file before logging.</p>
</li>
<li>
<p><a
href="https://redirect.github.com/pytest-dev/pytest/issues/12047">#12047</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">#11904</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="pull"} for a comparison with pytest 8.0 and <8.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="pytest-dev/pytest@b9a167f9bbbd6eda4f0360c5bf5b7f5af50f2bc4"><code>b9a167f</code></a>
Prepare release version 8.1.0</li>
<li><a
href="pytest-dev/pytest@00043f7f1047b29fdaeb18e169fe9d6146988cb8"><code>00043f7</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12038">#12038</a>
from bluetech/fixtures-rm-arg2index</li>
<li><a
href="pytest-dev/pytest@f4e10251a4a003495b5228cea421d4de5fa0ce89"><code>f4e1025</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12048">#12048</a>
from bluetech/fixture-teardown-excgroup</li>
<li><a
href="pytest-dev/pytest@43492f5707b38dab9b62dfb829bb41a13579629f"><code>43492f5</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/12051">#12051</a>
from jakkdl/test_debugging_pythonbreakpoint</li>
<li><a
href="pytest-dev/pytest@82fe28dae4eec900123175cee87245f37b964e5c"><code>82fe28d</code></a>
[automated] Update plugin list (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12049">#12049</a>)</li>
<li><a
href="pytest-dev/pytest@5e2ee7175c145f84ff9882be9496abb56e6e56f2"><code>5e2ee71</code></a>
monkeypatch.delenv PYTHONBREAKPOINT in two tests that previously
failed/skipped</li>
<li><a
href="pytest-dev/pytest@89ee4493ccbcd118349082cd78eb52a761683120"><code>89ee449</code></a>
Merge pull request <a
href="https://redirect.github.com/pytest-dev/pytest/issues/11997">#11997</a>
from nicoddemus/11475-importlib</li>
<li><a
href="pytest-dev/pytest@8248946a552635f5751a58c7a6dfd24e98db7404"><code>8248946</code></a>
Do not collect symlinked tests under Windows (<a
href="https://redirect.github.com/pytest-dev/pytest/issues/12050">#12050</a>)</li>
<li><a
href="pytest-dev/pytest@434282e17f5f1f4fcc1464a0a0921cf19804bdd7"><code>434282e</code></a>
fixtures: use exception group when multiple finalizers raise in fixture
teardown</li>
<li><a
href="pytest-dev/pytest@d6134bc21e27efee7a2e264bd089e6c223515904"><code>d6134bc</code></a>
doc: document consider_namespace_packages option</li>
<li>Additional commits viewable in <a
href="pytest-dev/pytest@8.0.2...8.1.0">compare
view</a></li>
</ul>
</details>
<br />
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 <dependency name> 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 whetherpre-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. Whensecureli
is invoked in a repo with an existingsecureli
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
)