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

fix(plugins): ensure stateless npm plugin #845

Merged
merged 2 commits into from
Sep 13, 2024

Conversation

liushuyu
Copy link
Contributor

  • Have you signed the CLA?

This pull request works around an issue that regressed NPM-based projects on the Launchpad auto-build system.

The issue was that the Launchpad auto-build system executed pull and build steps separately, thereby losing the shared state between them.

This is a temporary fix for the 1.33 branch.

@liushuyu
Copy link
Contributor Author

I think I can't fix the linter errors in this hotfix due to too many files affected.

@tigarmo
Copy link
Contributor

tigarmo commented Sep 12, 2024

I confirmed that with this fix the repro case linked in #844 builds locally

Copy link
Contributor

@tigarmo tigarmo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the quick fix ✨

Copy link
Collaborator

@cmatsuoka cmatsuoka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the quick fix. This should work for now, and we can work on a better solution later (maybe adding infrastructure for plugin-defined state files).

@cmatsuoka cmatsuoka changed the title NPM plugin hotfix fix(plugins): ensure stateless npm plugin Sep 13, 2024
@cmatsuoka cmatsuoka merged commit fab2ecc into canonical:hotfix/1.33.1 Sep 13, 2024
10 checks passed
github-merge-queue bot referenced this pull request in canonical/charmcraft Sep 19, 2024
This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [cffi](http://cffi.readthedocs.org)
([source](https://redirect.github.com/python-cffi/cffi),
[changelog](https://cffi.readthedocs.io/en/latest/whatsnew.html)) |
`==1.17.0` -> `==1.17.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/cffi/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/cffi/1.17.0/1.17.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [craft-parts](https://redirect.github.com/canonical/craft-parts) |
`==2.1.0` -> `==2.1.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-parts/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-parts/2.1.0/2.1.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| craft-providers | `==2.0.0` -> `==2.0.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/craft-providers/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/craft-providers/2.0.0/2.0.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [hypothesis](https://hypothesis.works)
([source](https://redirect.github.com/HypothesisWorks/hypothesis/tree/HEAD/hypothesis-python),
[changelog](https://hypothesis.readthedocs.io/en/latest/changes.html)) |
`==6.112.0` -> `==6.112.1` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/hypothesis/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/hypothesis/6.112.0/6.112.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pylint](https://redirect.github.com/pylint-dev/pylint)
([changelog](https://pylint.readthedocs.io/en/latest/whatsnew/3/)) |
`==3.2.6` -> `==3.2.7` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pylint/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pylint/3.2.6/3.2.7?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [pytest](https://redirect.github.com/pytest-dev/pytest)
([changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`==8.3.2` -> `==8.3.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/8.3.2/8.3.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [zipp](https://redirect.github.com/jaraco/zipp) | `==3.20.1` ->
`==3.20.2` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/zipp/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/zipp/3.20.1/3.20.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>python-cffi/cffi (cffi)</summary>

###
[`v1.17.1`](https://redirect.github.com/python-cffi/cffi/releases/tag/v1.17.1)

[Compare
Source](https://redirect.github.com/python-cffi/cffi/compare/v1.17.0...v1.17.1)

- Fix failing `distutils.msvc9compiler` imports under Windows
([#&#8203;118](https://redirect.github.com/python-cffi/cffi/issues/118)).
- `ffibuilder.emit_python_code()` and `ffibuiler.emit_c_code()` accept
file-like objects
([#&#8203;115](https://redirect.github.com/python-cffi/cffi/issues/115)).
- `ffiplatform` calls are bypassed by `ffibuilder.emit_python_code()`
and `ffibuilder.emit_c_code()`
([#&#8203;81](https://redirect.github.com/python-cffi/cffi/issues/81)).

**Full Changelog**:
python-cffi/cffi@v1.17.0...v1.17.1

</details>

<details>
<summary>canonical/craft-parts (craft-parts)</summary>

###
[`v2.1.1`](https://redirect.github.com/canonical/craft-parts/releases/tag/2.1.1)

[Compare
Source](https://redirect.github.com/canonical/craft-parts/compare/2.1.0...2.1.1)

##### What's Changed

- minor format and cherry-picked fixes for 1.33.x by
[@&#8203;tigarmo](https://redirect.github.com/tigarmo) in
[https://github.com/canonical/craft-parts/pull/846](https://redirect.github.com/canonical/craft-parts/pull/846)
- fix(plugins): ensure stateless npm plugin by
[@&#8203;liushuyu](https://redirect.github.com/liushuyu) in
[https://github.com/canonical/craft-parts/pull/845](https://redirect.github.com/canonical/craft-parts/pull/845)
- Release 1.33.1 by
[@&#8203;cmatsuoka](https://redirect.github.com/cmatsuoka) in
[https://github.com/canonical/craft-parts/pull/847](https://redirect.github.com/canonical/craft-parts/pull/847)
- chore(merge): 'merge-1.33.1' into 'main' by
[@&#8203;tigarmo](https://redirect.github.com/tigarmo) in
[https://github.com/canonical/craft-parts/pull/848](https://redirect.github.com/canonical/craft-parts/pull/848)
- Prepare 2.1.1 release by
[@&#8203;tigarmo](https://redirect.github.com/tigarmo) in
[https://github.com/canonical/craft-parts/pull/849](https://redirect.github.com/canonical/craft-parts/pull/849)

**Full Changelog**:
canonical/craft-parts@2.1.0...2.1.1

</details>

<details>
<summary>pylint-dev/pylint (pylint)</summary>

###
[`v3.2.7`](https://redirect.github.com/pylint-dev/pylint/releases/tag/v3.2.7)

[Compare
Source](https://redirect.github.com/pylint-dev/pylint/compare/v3.2.6...v3.2.7)

## What's new in Pylint 3.2.7?

Release date: 2024-08-31

## False Positives Fixed

- Fixed a false positive `unreachable` for `NoReturn` coroutine
functions.

Closes
[#&#8203;9840](https://redirect.github.com/pylint-dev/pylint/issues/9840)

## Other Bug Fixes

- Fix crash in refactoring checker when calling a lambda bound as a
method.

Closes
[#&#8203;9865](https://redirect.github.com/pylint-dev/pylint/issues/9865)

- Fix a crash in `undefined-loop-variable` when providing the `iterable`
argument to `enumerate()`.

Closes
[#&#8203;9875](https://redirect.github.com/pylint-dev/pylint/issues/9875)

- Fix to address indeterminacy of error message in case a module name is
same as another in a separate namespace.

Refs
[#&#8203;9883](https://redirect.github.com/pylint-dev/pylint/issues/9883)

</details>

<details>
<summary>pytest-dev/pytest (pytest)</summary>

###
[`v8.3.3`](https://redirect.github.com/pytest-dev/pytest/releases/tag/8.3.3)

[Compare
Source](https://redirect.github.com/pytest-dev/pytest/compare/8.3.2...8.3.3)

# pytest 8.3.3 (2024-09-09)

## Bug fixes

-
[#&#8203;12446](https://redirect.github.com/pytest-dev/pytest/issues/12446):
Avoid calling `@property` (and other instance descriptors) during
fixture discovery -- by `asottile`{.interpreted-text role="user"}

-
[#&#8203;12659](https://redirect.github.com/pytest-dev/pytest/issues/12659):
Fixed the issue of not displaying assertion failure differences when
using the parameter `--import-mode=importlib` in pytest>=8.1.

-
[#&#8203;12667](https://redirect.github.com/pytest-dev/pytest/issues/12667):
Fixed a regression where type change in
\[ExceptionInfo.errisinstance]{.title-ref} caused \[mypy]{.title-ref} to
fail.

-
[#&#8203;12744](https://redirect.github.com/pytest-dev/pytest/issues/12744):
Fixed typing compatibility with Python 3.9 or less -- replaced
\[typing.Self]{.title-ref} with \[typing_extensions.Self]{.title-ref} --
by `Avasam`{.interpreted-text role="user"}

-
[#&#8203;12745](https://redirect.github.com/pytest-dev/pytest/issues/12745):
Fixed an issue with backslashes being incorrectly converted in nodeid
paths on Windows, ensuring consistent path handling across environments.

-
[#&#8203;6682](https://redirect.github.com/pytest-dev/pytest/issues/6682):
Fixed bug where the verbosity levels where not being respected when
printing the "msg" part of failed assertion (as in `assert condition,
msg`).

-
[#&#8203;9422](https://redirect.github.com/pytest-dev/pytest/issues/9422):
Fix bug where disabling the terminal plugin via `-p no:terminal` would
cause crashes related to missing the `verbose` option.

    \-- by `GTowers1`{.interpreted-text role="user"}

## Improved documentation

-
[#&#8203;12663](https://redirect.github.com/pytest-dev/pytest/issues/12663):
Clarify that the \[pytest_deselected]{.title-ref} hook should be called
from \[pytest_collection_modifyitems]{.title-ref} hook implementations
when items are deselected.
-
[#&#8203;12678](https://redirect.github.com/pytest-dev/pytest/issues/12678):
Remove erroneous quotes from \[tmp_path_retention_policy]{.title-ref}
example in docs.

## Miscellaneous internal changes

-
[#&#8203;12769](https://redirect.github.com/pytest-dev/pytest/issues/12769):
Fix typos discovered by codespell and add codespell to pre-commit hooks.

</details>

<details>
<summary>jaraco/zipp (zipp)</summary>

###
[`v3.20.2`](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)

[Compare
Source](https://redirect.github.com/jaraco/zipp/compare/v3.20.1...v3.20.2)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC,
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/charmcraft).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC44MC4wIiwidXBkYXRlZEluVmVyIjoiMzguODAuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants