Skip to content

Fix shell quoting in CI scripts#3231

Merged
messense merged 1 commit into
PyO3:mainfrom
nkgotcode:fix/shell-quoting-hygiene
Jun 19, 2026
Merged

Fix shell quoting in CI scripts#3231
messense merged 1 commit into
PyO3:mainfrom
nkgotcode:fix/shell-quoting-hygiene

Conversation

@nkgotcode

Copy link
Copy Markdown
Contributor

Fixes #3205.

This quotes GitHub environment file redirects in CI shell snippets and splits command-substitution exports so shellcheck can validate the scripts without changing the exported values. It also adds the missing Bash shebang to the devcontainer post-create script.

Validation:

  • PATH=/tmp/maturin-shellcheck/shellcheck-v0.10.0:$PATH; find . -name "*.sh" -print | sort | xargs shellcheck --severity=warning
  • shellcheck --severity=warning on the changed workflow shell snippets after substituting the GitHub expression that Actions expands before Bash runs
  • git diff --check origin/main...HEAD
  • uvx pre-commit run --all-files

@messense messense merged commit 6c9cd7f into PyO3:main Jun 19, 2026
62 checks passed
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Jun 23, 2026
## 1.14.1

* Bump uraimo/run-on-arch-action to v3 to fix pytest job ([#3221](PyO3/maturin#3221))
* Fix platform tag logic to generate the same as cpython on AIX ([#3220](PyO3/maturin#3220))
* Bump pyo3-introspection ([#3227](PyO3/maturin#3227))
* Upgrade cargo-zigbuild & cargo-xwin ([#3228](PyO3/maturin#3228))
* Fix issues around crates enabling abi3 and abi3t features ([#3226](PyO3/maturin#3226))
* Add PEP 740 publish attestations to PyPI releases ([#3230](PyO3/maturin#3230))
* Set PYO3_PYTHON to run scripts for stable ABI builds ([#3233](PyO3/maturin#3233))
* Fix shell quoting in CI scripts ([#3231](PyO3/maturin#3231))

## 1.14.0

* Support parent-relative pyproject metadata in sdists ([#3182](PyO3/maturin#3182))
* Update PyPI platform tag validation ([#3187](PyO3/maturin#3187))
* Maint: update setup emsdk action in generate-ci ([#3194](PyO3/maturin#3194))
* Fix: only shim bin wheels during auditwheel repair ([#3197](PyO3/maturin#3197))
* Fix: avoid editable ELF truncation from stale hardlinks ([#3199](PyO3/maturin#3199))
* Fix Pyodide Emscripten platform tags ([#3191](PyO3/maturin#3191))
* Use pax instead of GNU headers for tar ([#3203](PyO3/maturin#3203))
* Feat: add default exclude `__pycache__` and `*.pyc` files ([#3202](PyO3/maturin#3202))
* Add support for finding free-threaded interpreters for `--find-interpreters` ([#3206](PyO3/maturin#3206))
* Stubs: also generate them for mixed PyO3 projects ([#3211](PyO3/maturin#3211))
* Don't depend on CFFI on PyPy ([#3213](PyO3/maturin#3213))
* Support pyo3 abi3t features on Python3.15 and PyO3 0.29 ([#3113](PyO3/maturin#3113))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ci: shell quoting hygiene + add shellcheck to lint

2 participants