This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [PyO3/maturin-action](https://redirect.github.com/PyO3/maturin-action) | action | minor | `v1` -> `v1.47.3` | --- > [!WARNING] > Some dependencies could not be looked up. Check the Dependency Dashboard for more information. --- ### Release Notes <details> <summary>PyO3/maturin-action (PyO3/maturin-action)</summary> ### [`v1.47.3`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.47.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.47.2...v1.47.3) ##### What's Changed - Install ziglang < 0.14.0 **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.47.2...v1.47.3 ### [`v1.47.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.47.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.47.1...v1.47.2) ##### What's Changed - Fix i686 libatomic install for rustup by [@​exFalso](https://redirect.github.com/exFalso) in [https://github.com/PyO3/maturin-action/pull/330](https://redirect.github.com/PyO3/maturin-action/pull/330) ##### New Contributors - [@​exFalso](https://redirect.github.com/exFalso) made their first contribution in [https://github.com/PyO3/maturin-action/pull/330](https://redirect.github.com/PyO3/maturin-action/pull/330) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.47.1...v1.47.2 ### [`v1.47.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.47.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.47.0...v1.47.1) ##### What's Changed - Install libatomic for cargo on i686 Linux targets by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/327](https://redirect.github.com/PyO3/maturin-action/pull/327) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.47.0...v1.47.1 ### [`v1.47.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.47.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.46.0...v1.47.0) ##### What's Changed - Add GITHUB\_ to ALLOWED_ENV_PREFIXES by [@​mnaser](https://redirect.github.com/mnaser) in [https://github.com/PyO3/maturin-action/pull/323](https://redirect.github.com/PyO3/maturin-action/pull/323) - fix: upgrade the toolchain by [@​kemingy](https://redirect.github.com/kemingy) in [https://github.com/PyO3/maturin-action/pull/325](https://redirect.github.com/PyO3/maturin-action/pull/325) ##### New Contributors - [@​mnaser](https://redirect.github.com/mnaser) made their first contribution in [https://github.com/PyO3/maturin-action/pull/323](https://redirect.github.com/PyO3/maturin-action/pull/323) - [@​kemingy](https://redirect.github.com/kemingy) made their first contribution in [https://github.com/PyO3/maturin-action/pull/325](https://redirect.github.com/PyO3/maturin-action/pull/325) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.46.0...v1.47.0 ### [`v1.46.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.46.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.45.0...v1.46.0) ##### What's Changed - Add support for arm64 Linux runner by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/316](https://redirect.github.com/PyO3/maturin-action/pull/316) ##### New Contributors - [@​dhruvmanila](https://redirect.github.com/dhruvmanila) made their first contribution in [https://github.com/PyO3/maturin-action/pull/304](https://redirect.github.com/PyO3/maturin-action/pull/304) - [@​cclauss](https://redirect.github.com/cclauss) made their first contribution in [https://github.com/PyO3/maturin-action/pull/310](https://redirect.github.com/PyO3/maturin-action/pull/310) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.45.0...v1.46.0 ### [`v1.45.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.45.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.44.0...v1.45.0) ##### What's Changed - Revert "Ignore cffi installation error" by [@​mkniewallner](https://redirect.github.com/mkniewallner) in [https://github.com/PyO3/maturin-action/pull/285](https://redirect.github.com/PyO3/maturin-action/pull/285) - Upgrade TOML parser by [@​gaborbernat](https://redirect.github.com/gaborbernat) in [https://github.com/PyO3/maturin-action/pull/295](https://redirect.github.com/PyO3/maturin-action/pull/295) - Use `pip install --user` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/296](https://redirect.github.com/PyO3/maturin-action/pull/296) ##### New Contributors - [@​mkniewallner](https://redirect.github.com/mkniewallner) made their first contribution in [https://github.com/PyO3/maturin-action/pull/285](https://redirect.github.com/PyO3/maturin-action/pull/285) - [@​gaborbernat](https://redirect.github.com/gaborbernat) made their first contribution in [https://github.com/PyO3/maturin-action/pull/295](https://redirect.github.com/PyO3/maturin-action/pull/295) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.44.0...v1.45.0 ### [`v1.44.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.44.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.43.0...v1.44.0) ##### What's Changed - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/PyO3/maturin-action/pull/269](https://redirect.github.com/PyO3/maturin-action/pull/269) - Bump braces from 3.0.2 to 3.0.3 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/271](https://redirect.github.com/PyO3/maturin-action/pull/271) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.43.0...v1.44.0 ### [`v1.43.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.43.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.42.2...v1.43.0) ##### What's Changed - Move before script before sccache setup by [@​orf](https://redirect.github.com/orf) in [https://github.com/PyO3/maturin-action/pull/264](https://redirect.github.com/PyO3/maturin-action/pull/264) - Find PyPy in tool cache by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/268](https://redirect.github.com/PyO3/maturin-action/pull/268) - Adds support for docker-in-docker cross platform builds by [@​plied](https://redirect.github.com/plied) in [https://github.com/PyO3/maturin-action/pull/266](https://redirect.github.com/PyO3/maturin-action/pull/266) ##### New Contributors - [@​orf](https://redirect.github.com/orf) made their first contribution in [https://github.com/PyO3/maturin-action/pull/264](https://redirect.github.com/PyO3/maturin-action/pull/264) - [@​plied](https://redirect.github.com/plied) made their first contribution in [https://github.com/PyO3/maturin-action/pull/266](https://redirect.github.com/PyO3/maturin-action/pull/266) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.42.2...v1.43.0 ### [`v1.42.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.42.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.42.1...v1.42.2) ##### What's Changed - Remove `CARGO_HOME` from docker env var by [@​dariocurr](https://redirect.github.com/dariocurr) in [https://github.com/PyO3/maturin-action/pull/262](https://redirect.github.com/PyO3/maturin-action/pull/262) ##### New Contributors - [@​dariocurr](https://redirect.github.com/dariocurr) made their first contribution in [https://github.com/PyO3/maturin-action/pull/262](https://redirect.github.com/PyO3/maturin-action/pull/262) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.42.1...v1.42.2 ### [`v1.42.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.42.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.42.0...v1.42.1) ##### What's Changed - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/PyO3/maturin-action/pull/252](https://redirect.github.com/PyO3/maturin-action/pull/252) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.42.0...v1.42.1 ### [`v1.42.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.42.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.41.0...v1.42.0) ##### What's Changed - Add support for `--target=` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/248](https://redirect.github.com/PyO3/maturin-action/pull/248) - Add arm-unknown-linux-musleabihf target support by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/250](https://redirect.github.com/PyO3/maturin-action/pull/250) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.41.0...v1.42.0 ### [`v1.41.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.41.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.8...v1.41.0) ##### What's Changed - Upgrade to Node 20 - Bump actions/setup-python from 4 to 5 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/239](https://redirect.github.com/PyO3/maturin-action/pull/239) - Bump peter-evans/create-pull-request from 5 to 6 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/243](https://redirect.github.com/PyO3/maturin-action/pull/243) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.8...v1.41.0 ### [`v1.40.8`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.8) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.7...v1.40.8) ##### What's Changed - Pass `CC` and `CXX` environmental variables by [@​ijl](https://redirect.github.com/ijl) in [https://github.com/PyO3/maturin-action/pull/232](https://redirect.github.com/PyO3/maturin-action/pull/232) ##### New Contributors - [@​ijl](https://redirect.github.com/ijl) made their first contribution in [https://github.com/PyO3/maturin-action/pull/232](https://redirect.github.com/PyO3/maturin-action/pull/232) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.7...v1.40.8 ### [`v1.40.7`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.7) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.6...v1.40.7) ##### What's Changed - Allow absolute `working-directory` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/223](https://redirect.github.com/PyO3/maturin-action/pull/223) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.6...v1.40.7 ### [`v1.40.6`](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.5...v1.40.6) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.5...v1.40.6) ### [`v1.40.5`](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.4...v1.40.5) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.4...v1.40.5) ### [`v1.40.4`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.4) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.3...v1.40.4) ##### What's Changed - Also find `rust-toolchain` file in parent directories by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/217](https://redirect.github.com/PyO3/maturin-action/pull/217) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.3...v1.40.4 ### [`v1.40.3`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.2...v1.40.3) ##### What's Changed - Bump actions/checkout from 3 to 4 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/211](https://redirect.github.com/PyO3/maturin-action/pull/211) - Correctly compute `pyproject.toml` path by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/213](https://redirect.github.com/PyO3/maturin-action/pull/213) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.2...v1.40.3 ### [`v1.40.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.1...v1.40.2) ##### What's Changed - Resolve workspace target dir from `cargo metadata` output by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/200](https://redirect.github.com/PyO3/maturin-action/pull/200) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.1...v1.40.2 ### [`v1.40.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.40.0...v1.40.1) ##### What's Changed - Bump peter-evans/create-pull-request from 4 to 5 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/174](https://redirect.github.com/PyO3/maturin-action/pull/174) - Write `run-maturin-action.sh` to a tmpdir by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/194](https://redirect.github.com/PyO3/maturin-action/pull/194) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.40.0...v1.40.1 ### [`v1.40.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.40.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.39.0...v1.40.0) ##### What's Changed - Automatically pass `CFLAGS`/`CPPFLAGS`/`CXXFLAGS`/`LDFLAGS` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/172](https://redirect.github.com/PyO3/maturin-action/pull/172) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.39.0...v1.40.0 ### [`v1.39.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.39.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.38.1...v1.39.0) ##### What's Changed - Add `before-script-linux` option by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/157](https://redirect.github.com/PyO3/maturin-action/pull/157) For running custom script to configure the build environment on Linux, for example installing clang for `rust-bindgen`. For macOS and Windows you can just run the command before `maturin-action` since the builds are always run on the host machine. **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.38.1...v1.39.0 ### [`v1.38.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.38.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.38.0...v1.38.1) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.38.0...v1.38.1 ### [`v1.38.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.38.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.37.2...v1.38.0) ##### What's Changed - Add sccache support by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/156](https://redirect.github.com/PyO3/maturin-action/pull/156) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.37.2...v1.38.0 ### [`v1.37.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.37.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.37.1...v1.37.2) ##### What's Changed - Add support for multiline `rustup-components` option by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/154](https://redirect.github.com/PyO3/maturin-action/pull/154) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.37.1...v1.37.2 ### [`v1.37.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.37.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.37.0...v1.37.1) ##### What's Changed - Install `cffi` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/150](https://redirect.github.com/PyO3/maturin-action/pull/150) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.37.0...v1.37.1 ### [`v1.37.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.37.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.36.0...v1.37.0) ##### What's Changed - Add support for `universal2-apple-darwin` target by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/149](https://redirect.github.com/PyO3/maturin-action/pull/149) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.36.0...v1.37.0 ### [`v1.36.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.36.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.35.2...v1.36.0) ##### What's Changed - Don't pass `--zig` to unsupported targets by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/143](https://redirect.github.com/PyO3/maturin-action/pull/143) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.35.2...v1.36.0 ### [`v1.35.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.35.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.35.1...v1.35.2) ##### What's Changed - Use unshift instead of push to allow passing rustc args by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/140](https://redirect.github.com/PyO3/maturin-action/pull/140) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.35.1...v1.35.2 ### [`v1.35.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.35.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.35.0...v1.35.1) ##### What's Changed - Fix docker image for manylinux\_2\_28 by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/138](https://redirect.github.com/PyO3/maturin-action/pull/138) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.35.0...v1.35.1 ### [`v1.35.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.35.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.34.0...v1.35.0) ##### What's Changed - Bump json5 from 1.0.1 to 1.0.2 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/PyO3/maturin-action/pull/133](https://redirect.github.com/PyO3/maturin-action/pull/133) - Add `docker-options` for passing additional `docker run` options by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/135](https://redirect.github.com/PyO3/maturin-action/pull/135) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.34.0...v1.35.0 ### [`v1.34.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.34.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.33.0...v1.34.0) ##### What's Changed - Forward SSH agent to Docker container by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/119](https://redirect.github.com/PyO3/maturin-action/pull/119) - Add support for `de-vri-es/setup-git-credentials` action by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/120](https://redirect.github.com/PyO3/maturin-action/pull/120) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.33.0...v1.34.0 ### [`v1.33.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.33.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.32.2...v1.33.0) ##### What's Changed - Fallback to local host build when no default docker image found by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/118](https://redirect.github.com/PyO3/maturin-action/pull/118) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.32.2...v1.33.0 ### [`v1.32.2`](https://redirect.github.com/PyO3/maturin-action/compare/v1.32.1...v1.32.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.32.1...v1.32.2) ### [`v1.32.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.32.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.32.0...v1.32.1) ##### What's Changed - Remove hardcoded `MACOSX_DEPLOYMENT_TARGET` by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/113](https://redirect.github.com/PyO3/maturin-action/pull/113) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.32.0...v1.32.1 ### [`v1.32.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.32.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.31.0...v1.32.0) ##### What's Changed - Update links after moving to PyO3 org by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/97](https://redirect.github.com/PyO3/maturin-action/pull/97) - Add `working-directory` input option by [@​messense](https://redirect.github.com/messense) in [https://github.com/PyO3/maturin-action/pull/102](https://redirect.github.com/PyO3/maturin-action/pull/102) **Full Changelog**: https://github.com/PyO3/maturin-action/compare/v1.31.0...v1.32.0 ### [`v1.31.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.31.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.30.2...v1.31.0) ##### What's Changed - Test Python 3.11 by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/92](https://redirect.github.com/messense/maturin-action/pull/92) - Always use docker on Linux if `container` is set by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/95](https://redirect.github.com/messense/maturin-action/pull/95) - Update GitHub Actions Nodejs runtime to 16 **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.30.2...v1.31.0 ### [`v1.30.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.30.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.30.1...v1.30.2) ##### What's Changed - Switch to ghcr.io manylinux cross docker images by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/90](https://redirect.github.com/messense/maturin-action/pull/90) - chore: update dependencies by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/91](https://redirect.github.com/messense/maturin-action/pull/91) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.30.1...v1.30.2 ### [`v1.30.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.30.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.30.0...v1.30.1) ##### What's Changed - Remove now obsolete `autoManylinuxVersion` function by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/84](https://redirect.github.com/messense/maturin-action/pull/84) - Add support for using manylinux version in `container` option by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/85](https://redirect.github.com/messense/maturin-action/pull/85) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.30.0...v1.30.1 ### [`v1.30.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.30.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.29.3...v1.30.0) ##### What's Changed - Make `manylinux: auto` defaults to `manylinux2014` by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/83](https://redirect.github.com/messense/maturin-action/pull/83) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.29.3...v1.30.0 ### [`v1.29.3`](https://redirect.github.com/PyO3/maturin-action/compare/v1.29.2...v1.29.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.29.2...v1.29.3) ### [`v1.29.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.29.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.29.1...v1.29.2) ##### What's Changed - docker: pass `CMAKE_*` and `TARGET_*` env vars **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.29.1...v1.29.2 ### [`v1.29.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.29.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.29.0...v1.29.1) ##### What's Changed - Use `GITHUB_TOKEN` env var if available **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.29.0...v1.29.1 ### [`v1.29.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.29.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.28.4...v1.29.0) ##### What's Changed - Defaults to manylinux2014 when using `auto` with Rust beta/nightly by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/65](https://redirect.github.com/messense/maturin-action/pull/65) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.28.4...v1.29.0 ### [`v1.28.4`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.28.4) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.28.3...v1.28.4) ##### What's Changed - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/messense/maturin-action/pull/59](https://redirect.github.com/messense/maturin-action/pull/59) - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/messense/maturin-action/pull/60](https://redirect.github.com/messense/maturin-action/pull/60) - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/messense/maturin-action/pull/61](https://redirect.github.com/messense/maturin-action/pull/61) - Exclude manylinux2010 test on Rust nightly by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/62](https://redirect.github.com/messense/maturin-action/pull/62) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.28.3...v1.28.4 ### [`v1.28.3`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.28.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.28.2...v1.28.3) ##### What's Changed - Fix file permissions for output directory when building with Docker. **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.28.2...v1.28.3 ### [`v1.28.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.28.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.28.1...v1.28.2) ##### What's Changed - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/messense/maturin-action/pull/52](https://redirect.github.com/messense/maturin-action/pull/52) - Update versions-manifest.json by [@​github-actions](https://redirect.github.com/github-actions) in [https://github.com/messense/maturin-action/pull/54](https://redirect.github.com/messense/maturin-action/pull/54) ##### New Contributors - [@​github-actions](https://redirect.github.com/github-actions) made their first contribution in [https://github.com/messense/maturin-action/pull/52](https://redirect.github.com/messense/maturin-action/pull/52) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.28.1...v1.28.2 ### [`v1.28.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.28.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.28.0...v1.28.1) ##### What's Changed - Support legacy `rust-toolchain` with toml content by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/51](https://redirect.github.com/messense/maturin-action/pull/51) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.28.0...v1.28.1 ### [`v1.28.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.28.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.27.0...v1.28.0) ##### What's Changed - Update dependencies by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/45](https://redirect.github.com/messense/maturin-action/pull/45) - Read maturin version from `pyproject.toml` by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/46](https://redirect.github.com/messense/maturin-action/pull/46) - Add support for rust-toolchain overrides by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/48](https://redirect.github.com/messense/maturin-action/pull/48) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.27.0...v1.28.0 ### [`v1.27.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.27.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.26.0...v1.27.0) ##### What's Changed - Accept more env vars in docker build by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/42](https://redirect.github.com/messense/maturin-action/pull/42) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.26.0...v1.27.0 ### [`v1.26.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.26.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.25.0...v1.26.0) ##### What's Changed - Set default images for musllinux\_1\_1 by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/41](https://redirect.github.com/messense/maturin-action/pull/41) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.25.0...v1.26.0 ### [`v1.25.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.25.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.24.1...v1.25.0) ##### What's Changed - Bump minimist from 1.2.5 to 1.2.6 by [@​dependabot](https://redirect.github.com/dependabot) in [https://github.com/messense/maturin-action/pull/38](https://redirect.github.com/messense/maturin-action/pull/38) - Add manylinux\_2\_28 cross compiling Docker images by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/40](https://redirect.github.com/messense/maturin-action/pull/40) ##### New Contributors - [@​dependabot](https://redirect.github.com/dependabot) made their first contribution in [https://github.com/messense/maturin-action/pull/38](https://redirect.github.com/messense/maturin-action/pull/38) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.24.1...v1.25.0 ### [`v1.24.1`](https://redirect.github.com/PyO3/maturin-action/compare/v1.24.0...v1.24.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.24.0...v1.24.1) ### [`v1.24.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.2...v1.24.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.2...v1.24.0) ### [`v1.23.2`](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.1...v1.23.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.1...v1.23.2) ### [`v1.23.1`](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.0...v1.23.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.23.0...v1.23.1) ### [`v1.23.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.22.1...v1.23.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.22.1...v1.23.0) ### [`v1.22.1`](https://redirect.github.com/PyO3/maturin-action/compare/v1.22.0...v1.22.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.22.0...v1.22.1) ### [`v1.22.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.21.0...v1.22.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.21.0...v1.22.0) ### [`v1.21.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.20.0...v1.21.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.20.0...v1.21.0) ### [`v1.20.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.3...v1.20.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.3...v1.20.0) ### [`v1.19.3`](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.2...v1.19.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.2...v1.19.3) ### [`v1.19.2`](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.1...v1.19.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.1...v1.19.2) ### [`v1.19.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.19.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.19.0...v1.19.1) ##### What's Changed - Better support for macOS arm64 by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/22](https://redirect.github.com/messense/maturin-action/pull/22) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.19.0...v1.19.1 ### [`v1.19.0`](https://redirect.github.com/PyO3/maturin-action/compare/v1.18.1...v1.19.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.18.1...v1.19.0) ### [`v1.18.1`](https://redirect.github.com/PyO3/maturin-action/compare/v1.18.0...v1.18.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.18.0...v1.18.1) ### [`v1.18.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.18.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.17.0...v1.18.0) ##### What's Changed - Do not attempt to pull local images by [@​Tpt](https://redirect.github.com/Tpt) in [https://github.com/messense/maturin-action/pull/19](https://redirect.github.com/messense/maturin-action/pull/19) ##### New Contributors - [@​Tpt](https://redirect.github.com/Tpt) made their first contribution in [https://github.com/messense/maturin-action/pull/19](https://redirect.github.com/messense/maturin-action/pull/19) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.17.0...v1.18.0 ### [`v1.17.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.17.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.4...v1.17.0) ##### What's Changed - Remove fallback maturin latest version by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/18](https://redirect.github.com/messense/maturin-action/pull/18) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.16.4...v1.17.0 ### [`v1.16.4`](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.3...v1.16.4) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.3...v1.16.4) ### [`v1.16.3`](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.2...v1.16.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.2...v1.16.3) ### [`v1.16.2`](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.1...v1.16.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.1...v1.16.2) ### [`v1.16.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.16.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.16.0...v1.16.1) ##### What's Changed - Only add tool cache Python to PATH if no `pythonLocation` specified by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/17](https://redirect.github.com/messense/maturin-action/pull/17) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.16.0...v1.16.1 ### [`v1.16.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.16.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.15.1...v1.16.0) ##### What's Changed - Add Python versions from tool cache to PATH on macOS by [@​messense](https://redirect.github.com/messense) in [https://github.com/messense/maturin-action/pull/16](https://redirect.github.com/messense/maturin-action/pull/16) **Full Changelog**: https://github.com/messense/maturin-action/compare/v1.15.1...v1.16.0 ### [`v1.15.1`](https://redirect.github.com/PyO3/maturin-action/compare/v1.15.0...v1.15.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.15.0...v1.15.1) ### [`v1.15.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.15.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.14.2...v1.15.0) - Removed universal2 support for pyo3 0.13.x ### [`v1.14.2`](https://redirect.github.com/PyO3/maturin-action/compare/v1.14.1...v1.14.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.14.1...v1.14.2) ### [`v1.14.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.14.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.14.0...v1.14.1) - Update default maturin version to v0.11.3 ### [`v1.14.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.14.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.13.2...v1.14.0) - Fixed maturin build error with `--cargo-extra-args` on macOS and Windows. ### [`v1.13.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.13.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.13.1...v1.13.2) - Update default maturin version to v0.11.2 ### [`v1.13.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.13.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.13.0...v1.13.1) - Update default maturin version to v0.11.1 ### [`v1.13.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.13.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.12.1...v1.13.0) - Add support for self-hosted arm64 runner - Update default maturin version to 0.11.0 ### [`v1.12.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.12.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.12.0...v1.12.1) Allow passing `_PYTHON_SYSCONFIGDATA_NAME` to docker. ### [`v1.12.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.12.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.11.1...v1.12.0) Drop manylinux\_2\_24 ppc64 support. ### [`v1.11.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.11.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.11.0...v1.11.1) Strip `manylinux` prefix. ### [`v1.11.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.11.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.10.4...v1.11.0) Add more default manylinux\_2\_24 cross compile docker images ### [`v1.10.4`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.10.4) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.10.3...v1.10.4) Update default maturin version to `v0.10.6` ### [`v1.10.3`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.10.3) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.10.2...v1.10.3) Update default maturin version to `v0.10.5` ### [`v1.10.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.10.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.10.1...v1.10.2) Add support for x64 and x86 target aliases ### [`v1.10.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.10.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.10.0...v1.10.1) Add ppc64 alias ### [`v1.10.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.10.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.9.0...v1.10.0) Add support for `powerpc64-unknown-linux-gnu` target ### [`v1.9.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.9.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.8.2...v1.9.0) Use `messense/manylinux2014-cross:ppc64le` for ppc64le manylinux2014 cross compiling ### [`v1.8.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.8.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.8.1...v1.8.2) Skip target installaton if it is already installed ### [`v1.8.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.8.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.8.0...v1.8.1) Support target aliases for example `x86_64` on Linux alias to `x86_64-unknown-linux-gnu` ### [`v1.8.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.8.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.7.1...v1.8.0) Add default containers for MUSL targets. ### [`v1.7.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.7.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.7.0...v1.7.1) Support set `manylinux` to auto to build for lowest compatible manylinux tag ### [`v1.7.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.7.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.6.2...v1.7.0) - Add aliases for manylinux 2010 & 2014 - Support using QEMU for some architectures - Add default containers for `ppc64le` and `s390x` - Pass `RUST_BACKTRACE`, `PYO3_CROSS` and `PYO3_CROSS_PYTHON_VERSION` env vars to docker container. ### [`v1.6.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.6.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.6.1...v1.6.2) - Allow building manylinux wheels on host without Docker - Set `SDKROOT` env var for macOS universal2 build ### [`v1.6.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.6.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.6.0...v1.6.1) Print maturin version after installation. ### [`v1.6.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.6.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.5.2...v1.6.0) Add default containers for platforms other than `x86_64`. ### [`v1.5.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.5.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.5.1...v1.5.2) Pass some useful env vars to docker run ### [`v1.5.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.5.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.5.0...v1.5.1) Run manylinux off jobs on host instead of in Docker ### [`v1.5.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.5.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.4.2...v1.5.0) Added support for specifying Rust toolchain ### [`v1.4.2`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.4.2) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.4.1...v1.4.2) - Setup additional env vars for macOS universal2 build - Install `aarch64-apple-darwin` Rust target automatically ### [`v1.4.1`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.4.1) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.4.0...v1.4.1) Add fallback maturin version in case fetching latest maturin version failed. ### [`v1.4.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.4.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.3.0...v1.4.0) Support vanilla manylinux docker containers ### [`v1.3.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.3.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.2.0...v1.3.0) - Convert codebase to TypeScript - Added `target` input argument ### [`v1.2.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.2.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1.1.0...v1.2.0) Add `maturin` to PATH ### [`v1.1.0`](https://redirect.github.com/PyO3/maturin-action/releases/tag/v1.1.0) [Compare Source](https://redirect.github.com/PyO3/maturin-action/compare/v1...v1.1.0) Added support for manylinux build using `konstin2/maturin` docker images. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- 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/astral-sh/ruff). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJpbnRlcm5hbCJdfQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
839 lines
32 KiB
YAML
839 lines
32 KiB
YAML
name: CI
|
|
|
|
permissions: {}
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
workflow_dispatch:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event.pull_request.number || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
env:
|
|
CARGO_INCREMENTAL: 0
|
|
CARGO_NET_RETRY: 10
|
|
CARGO_TERM_COLOR: always
|
|
RUSTUP_MAX_RETRIES: 10
|
|
PACKAGE_NAME: ruff
|
|
PYTHON_VERSION: "3.13"
|
|
|
|
jobs:
|
|
determine_changes:
|
|
name: "Determine changes"
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
# Flag that is raised when any code that affects parser is changed
|
|
parser: ${{ steps.check_parser.outputs.changed }}
|
|
# Flag that is raised when any code that affects linter is changed
|
|
linter: ${{ steps.check_linter.outputs.changed }}
|
|
# Flag that is raised when any code that affects formatter is changed
|
|
formatter: ${{ steps.check_formatter.outputs.changed }}
|
|
# Flag that is raised when any code is changed
|
|
# This is superset of the linter and formatter
|
|
code: ${{ steps.check_code.outputs.changed }}
|
|
# Flag that is raised when any code that affects the fuzzer is changed
|
|
fuzz: ${{ steps.check_fuzzer.outputs.changed }}
|
|
|
|
# Flag that is set to "true" when code related to the playground changes.
|
|
playground: ${{ steps.check_playground.outputs.changed }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
- name: Determine merge base
|
|
id: merge_base
|
|
env:
|
|
BASE_REF: ${{ github.event.pull_request.base.ref || 'main' }}
|
|
run: |
|
|
sha=$(git merge-base HEAD "origin/${BASE_REF}")
|
|
echo "sha=${sha}" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Check if the parser code changed
|
|
id: check_parser
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- \
|
|
':Cargo.toml' \
|
|
':Cargo.lock' \
|
|
':crates/ruff_python_trivia/**' \
|
|
':crates/ruff_source_file/**' \
|
|
':crates/ruff_text_size/**' \
|
|
':crates/ruff_python_ast/**' \
|
|
':crates/ruff_python_parser/**' \
|
|
':python/py-fuzzer/**' \
|
|
':.github/workflows/ci.yaml' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Check if the linter code changed
|
|
id: check_linter
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- ':Cargo.toml' \
|
|
':Cargo.lock' \
|
|
':crates/**' \
|
|
':!crates/red_knot*/**' \
|
|
':!crates/ruff_python_formatter/**' \
|
|
':!crates/ruff_formatter/**' \
|
|
':!crates/ruff_dev/**' \
|
|
':!crates/ruff_db/**' \
|
|
':scripts/*' \
|
|
':python/**' \
|
|
':.github/workflows/ci.yaml' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Check if the formatter code changed
|
|
id: check_formatter
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- ':Cargo.toml' \
|
|
':Cargo.lock' \
|
|
':crates/ruff_python_formatter/**' \
|
|
':crates/ruff_formatter/**' \
|
|
':crates/ruff_python_trivia/**' \
|
|
':crates/ruff_python_ast/**' \
|
|
':crates/ruff_source_file/**' \
|
|
':crates/ruff_python_index/**' \
|
|
':crates/ruff_python_index/**' \
|
|
':crates/ruff_text_size/**' \
|
|
':crates/ruff_python_parser/**' \
|
|
':scripts/*' \
|
|
':python/**' \
|
|
':.github/workflows/ci.yaml' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Check if the fuzzer code changed
|
|
id: check_fuzzer
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- ':Cargo.toml' \
|
|
':Cargo.lock' \
|
|
':fuzz/fuzz_targets/**' \
|
|
':.github/workflows/ci.yaml' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Check if there was any code related change
|
|
id: check_code
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- ':**/*' \
|
|
':!**/*.md' \
|
|
':crates/red_knot_python_semantic/resources/mdtest/**/*.md' \
|
|
':!docs/**' \
|
|
':!assets/**' \
|
|
':.github/workflows/ci.yaml' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
- name: Check if there was any playground related change
|
|
id: check_playground
|
|
env:
|
|
MERGE_BASE: ${{ steps.merge_base.outputs.sha }}
|
|
run: |
|
|
if git diff --quiet "${MERGE_BASE}...HEAD" -- \
|
|
':playground/**' \
|
|
; then
|
|
echo "changed=false" >> "$GITHUB_OUTPUT"
|
|
else
|
|
echo "changed=true" >> "$GITHUB_OUTPUT"
|
|
fi
|
|
|
|
cargo-fmt:
|
|
name: "cargo fmt"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: "Install Rust toolchain"
|
|
run: rustup component add rustfmt
|
|
- run: cargo fmt --all --check
|
|
|
|
cargo-clippy:
|
|
name: "cargo clippy"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: |
|
|
rustup component add clippy
|
|
rustup target add wasm32-unknown-unknown
|
|
- name: "Clippy"
|
|
run: cargo clippy --workspace --all-targets --all-features --locked -- -D warnings
|
|
- name: "Clippy (wasm)"
|
|
run: cargo clippy -p ruff_wasm -p red_knot_wasm --target wasm32-unknown-unknown --all-features --locked -- -D warnings
|
|
|
|
cargo-test-linux:
|
|
name: "cargo test (linux)"
|
|
runs-on: depot-ubuntu-22.04-16
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Install mold"
|
|
uses: rui314/setup-mold@v1
|
|
- name: "Install cargo nextest"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-nextest
|
|
- name: "Install cargo insta"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-insta
|
|
- name: "Run tests"
|
|
shell: bash
|
|
env:
|
|
NEXTEST_PROFILE: "ci"
|
|
run: cargo insta test --all-features --unreferenced reject --test-runner nextest
|
|
|
|
# Check for broken links in the documentation.
|
|
- run: cargo doc --all --no-deps
|
|
env:
|
|
RUSTDOCFLAGS: "-D warnings"
|
|
# Use --document-private-items so that all our doc comments are kept in
|
|
# sync, not just public items. Eventually we should do this for all
|
|
# crates; for now add crates here as they are warning-clean to prevent
|
|
# regression.
|
|
- run: cargo doc --no-deps -p red_knot_python_semantic -p red_knot -p red_knot_test -p ruff_db --document-private-items
|
|
env:
|
|
# Setting RUSTDOCFLAGS because `cargo doc --check` isn't yet implemented (https://github.com/rust-lang/cargo/issues/10025).
|
|
RUSTDOCFLAGS: "-D warnings"
|
|
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
|
with:
|
|
name: ruff
|
|
path: target/debug/ruff
|
|
|
|
cargo-test-linux-release:
|
|
name: "cargo test (linux, release)"
|
|
runs-on: depot-ubuntu-22.04-16
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Install mold"
|
|
uses: rui314/setup-mold@v1
|
|
- name: "Install cargo nextest"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-nextest
|
|
- name: "Install cargo insta"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-insta
|
|
- name: "Run tests"
|
|
shell: bash
|
|
env:
|
|
NEXTEST_PROFILE: "ci"
|
|
run: cargo insta test --release --all-features --unreferenced reject --test-runner nextest
|
|
|
|
cargo-test-windows:
|
|
name: "cargo test (windows)"
|
|
runs-on: github-windows-2025-x86_64-16
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Install cargo nextest"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-nextest
|
|
- name: "Run tests"
|
|
shell: bash
|
|
env:
|
|
NEXTEST_PROFILE: "ci"
|
|
# Workaround for <https://github.com/nextest-rs/nextest/issues/1493>.
|
|
RUSTUP_WINDOWS_PATH_ADD_BIN: 1
|
|
run: |
|
|
cargo nextest run --all-features --profile ci
|
|
cargo test --all-features --doc
|
|
|
|
cargo-test-wasm:
|
|
name: "cargo test (wasm)"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup target add wasm32-unknown-unknown
|
|
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
with:
|
|
node-version: 20
|
|
cache: "npm"
|
|
cache-dependency-path: playground/package-lock.json
|
|
- uses: jetli/wasm-pack-action@0d096b08b4e5a7de8c28de67e11e945404e9eefa # v0.4.0
|
|
with:
|
|
version: v0.13.1
|
|
- name: "Test ruff_wasm"
|
|
run: |
|
|
cd crates/ruff_wasm
|
|
wasm-pack test --node
|
|
- name: "Test red_knot_wasm"
|
|
run: |
|
|
cd crates/red_knot_wasm
|
|
wasm-pack test --node
|
|
|
|
cargo-build-release:
|
|
name: "cargo build (release)"
|
|
runs-on: macos-latest
|
|
if: ${{ github.ref == 'refs/heads/main' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Install mold"
|
|
uses: rui314/setup-mold@v1
|
|
- name: "Build"
|
|
run: cargo build --release --locked
|
|
|
|
cargo-build-msrv:
|
|
name: "cargo build (msrv)"
|
|
runs-on: depot-ubuntu-latest-8
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: SebRollen/toml-action@b1b3628f55fc3a28208d4203ada8b737e9687876 # v1.2.0
|
|
id: msrv
|
|
with:
|
|
file: "Cargo.toml"
|
|
field: "workspace.package.rust-version"
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
env:
|
|
MSRV: ${{ steps.msrv.outputs.value }}
|
|
run: rustup default "${MSRV}"
|
|
- name: "Install mold"
|
|
uses: rui314/setup-mold@v1
|
|
- name: "Install cargo nextest"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-nextest
|
|
- name: "Install cargo insta"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-insta
|
|
- name: "Run tests"
|
|
shell: bash
|
|
env:
|
|
NEXTEST_PROFILE: "ci"
|
|
MSRV: ${{ steps.msrv.outputs.value }}
|
|
run: cargo "+${MSRV}" insta test --all-features --unreferenced reject --test-runner nextest
|
|
|
|
cargo-fuzz-build:
|
|
name: "cargo fuzz build"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ github.ref == 'refs/heads/main' || needs.determine_changes.outputs.fuzz == 'true' || needs.determine_changes.outputs.code == 'true' }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
with:
|
|
workspaces: "fuzz -> target"
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Install cargo-binstall"
|
|
uses: cargo-bins/cargo-binstall@main
|
|
with:
|
|
tool: cargo-fuzz@0.11.2
|
|
- name: "Install cargo-fuzz"
|
|
# Download the latest version from quick install and not the github releases because github releases only has MUSL targets.
|
|
run: cargo binstall cargo-fuzz --force --disable-strategies crate-meta-data --no-confirm
|
|
- run: cargo fuzz build -s none
|
|
|
|
fuzz-parser:
|
|
name: "fuzz parser"
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- cargo-test-linux
|
|
- determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && needs.determine_changes.outputs.parser == 'true' }}
|
|
timeout-minutes: 20
|
|
env:
|
|
FORCE_COLOR: 1
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5
|
|
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
|
name: Download Ruff binary to test
|
|
id: download-cached-binary
|
|
with:
|
|
name: ruff
|
|
path: ruff-to-test
|
|
- name: Fuzz
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.download-cached-binary.outputs.download-path }}
|
|
run: |
|
|
# Make executable, since artifact download doesn't preserve this
|
|
chmod +x "${DOWNLOAD_PATH}/ruff"
|
|
|
|
(
|
|
uvx \
|
|
--python="${PYTHON_VERSION}" \
|
|
--from=./python/py-fuzzer \
|
|
fuzz \
|
|
--test-executable="${DOWNLOAD_PATH}/ruff" \
|
|
--bin=ruff \
|
|
0-500
|
|
)
|
|
|
|
scripts:
|
|
name: "test scripts"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 5
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup component add rustfmt
|
|
# Run all code generation scripts, and verify that the current output is
|
|
# already checked into git.
|
|
- run: python crates/ruff_python_ast/generate.py
|
|
- run: python crates/ruff_python_formatter/generate.py
|
|
- run: test -z "$(git status --porcelain)"
|
|
# Verify that adding a plugin or rule produces clean code.
|
|
- run: ./scripts/add_rule.py --name DoTheThing --prefix F --code 999 --linter pyflakes
|
|
- run: cargo check
|
|
- run: cargo fmt --all --check
|
|
- run: |
|
|
./scripts/add_plugin.py test --url https://pypi.org/project/-test/0.1.0/ --prefix TST
|
|
./scripts/add_rule.py --name FirstRule --prefix TST --code 001 --linter test
|
|
- run: cargo check
|
|
- run: cargo fmt --all --check
|
|
|
|
ecosystem:
|
|
name: "ecosystem"
|
|
runs-on: depot-ubuntu-latest-8
|
|
needs:
|
|
- cargo-test-linux
|
|
- determine_changes
|
|
# Only runs on pull requests, since that is the only we way we can find the base version for comparison.
|
|
# Ecosystem check needs linter and/or formatter changes.
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && github.event_name == 'pull_request' && needs.determine_changes.outputs.code == 'true' }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
|
|
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
|
name: Download comparison Ruff binary
|
|
id: ruff-target
|
|
with:
|
|
name: ruff
|
|
path: target/debug
|
|
|
|
- uses: dawidd6/action-download-artifact@20319c5641d495c8a52e688b7dc5fada6c3a9fbc # v8
|
|
name: Download baseline Ruff binary
|
|
with:
|
|
name: ruff
|
|
branch: ${{ github.event.pull_request.base.ref }}
|
|
workflow: "ci.yaml"
|
|
check_artifacts: true
|
|
|
|
- name: Install ruff-ecosystem
|
|
run: |
|
|
pip install ./python/ruff-ecosystem
|
|
|
|
- name: Run `ruff check` stable ecosystem check
|
|
if: ${{ needs.determine_changes.outputs.linter == 'true' }}
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.ruff-target.outputs.download-path }}
|
|
run: |
|
|
# Make executable, since artifact download doesn't preserve this
|
|
chmod +x ./ruff "${DOWNLOAD_PATH}/ruff"
|
|
|
|
# Set pipefail to avoid hiding errors with tee
|
|
set -eo pipefail
|
|
|
|
ruff-ecosystem check ./ruff "${DOWNLOAD_PATH}/ruff" --cache ./checkouts --output-format markdown | tee ecosystem-result-check-stable
|
|
|
|
cat ecosystem-result-check-stable > "$GITHUB_STEP_SUMMARY"
|
|
echo "### Linter (stable)" > ecosystem-result
|
|
cat ecosystem-result-check-stable >> ecosystem-result
|
|
echo "" >> ecosystem-result
|
|
|
|
- name: Run `ruff check` preview ecosystem check
|
|
if: ${{ needs.determine_changes.outputs.linter == 'true' }}
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.ruff-target.outputs.download-path }}
|
|
run: |
|
|
# Make executable, since artifact download doesn't preserve this
|
|
chmod +x ./ruff "${DOWNLOAD_PATH}/ruff"
|
|
|
|
# Set pipefail to avoid hiding errors with tee
|
|
set -eo pipefail
|
|
|
|
ruff-ecosystem check ./ruff "${DOWNLOAD_PATH}/ruff" --cache ./checkouts --output-format markdown --force-preview | tee ecosystem-result-check-preview
|
|
|
|
cat ecosystem-result-check-preview > "$GITHUB_STEP_SUMMARY"
|
|
echo "### Linter (preview)" >> ecosystem-result
|
|
cat ecosystem-result-check-preview >> ecosystem-result
|
|
echo "" >> ecosystem-result
|
|
|
|
- name: Run `ruff format` stable ecosystem check
|
|
if: ${{ needs.determine_changes.outputs.formatter == 'true' }}
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.ruff-target.outputs.download-path }}
|
|
run: |
|
|
# Make executable, since artifact download doesn't preserve this
|
|
chmod +x ./ruff "${DOWNLOAD_PATH}/ruff"
|
|
|
|
# Set pipefail to avoid hiding errors with tee
|
|
set -eo pipefail
|
|
|
|
ruff-ecosystem format ./ruff "${DOWNLOAD_PATH}/ruff" --cache ./checkouts --output-format markdown | tee ecosystem-result-format-stable
|
|
|
|
cat ecosystem-result-format-stable > "$GITHUB_STEP_SUMMARY"
|
|
echo "### Formatter (stable)" >> ecosystem-result
|
|
cat ecosystem-result-format-stable >> ecosystem-result
|
|
echo "" >> ecosystem-result
|
|
|
|
- name: Run `ruff format` preview ecosystem check
|
|
if: ${{ needs.determine_changes.outputs.formatter == 'true' }}
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.ruff-target.outputs.download-path }}
|
|
run: |
|
|
# Make executable, since artifact download doesn't preserve this
|
|
chmod +x ./ruff "${DOWNLOAD_PATH}/ruff"
|
|
|
|
# Set pipefail to avoid hiding errors with tee
|
|
set -eo pipefail
|
|
|
|
ruff-ecosystem format ./ruff "${DOWNLOAD_PATH}/ruff" --cache ./checkouts --output-format markdown --force-preview | tee ecosystem-result-format-preview
|
|
|
|
cat ecosystem-result-format-preview > "$GITHUB_STEP_SUMMARY"
|
|
echo "### Formatter (preview)" >> ecosystem-result
|
|
cat ecosystem-result-format-preview >> ecosystem-result
|
|
echo "" >> ecosystem-result
|
|
|
|
- name: Export pull request number
|
|
run: |
|
|
echo ${{ github.event.number }} > pr-number
|
|
|
|
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
|
name: Upload PR Number
|
|
with:
|
|
name: pr-number
|
|
path: pr-number
|
|
|
|
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
|
name: Upload Results
|
|
with:
|
|
name: ecosystem-result
|
|
path: ecosystem-result
|
|
|
|
cargo-shear:
|
|
name: "cargo shear"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main' }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: cargo-bins/cargo-binstall@main
|
|
- run: cargo binstall --no-confirm cargo-shear
|
|
- run: cargo shear
|
|
|
|
python-package:
|
|
name: "python package"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 20
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
|
|
with:
|
|
python-version: ${{ env.PYTHON_VERSION }}
|
|
architecture: x64
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Prep README.md"
|
|
run: python scripts/transform_readme.py --target pypi
|
|
- name: "Build wheels"
|
|
uses: PyO3/maturin-action@22fe573c6ed0c03ab9b84e631cbfa49bddf6e20e # v1.47.3
|
|
with:
|
|
args: --out dist
|
|
- name: "Test wheel"
|
|
run: |
|
|
pip install --force-reinstall --find-links dist "${PACKAGE_NAME}"
|
|
ruff --help
|
|
python -m ruff --help
|
|
- name: "Remove wheels from cache"
|
|
run: rm -rf target/wheels
|
|
|
|
pre-commit:
|
|
name: "pre-commit"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5
|
|
- name: "Cache pre-commit"
|
|
uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4
|
|
with:
|
|
path: ~/.cache/pre-commit
|
|
key: pre-commit-${{ hashFiles('.pre-commit-config.yaml') }}
|
|
- name: "Run pre-commit"
|
|
run: |
|
|
echo '```console' > "$GITHUB_STEP_SUMMARY"
|
|
# Enable color output for pre-commit and remove it for the summary
|
|
# Use --hook-stage=manual to enable slower pre-commit hooks that are skipped by default
|
|
SKIP=cargo-fmt,clippy,dev-generate-all uvx --python="${PYTHON_VERSION}" pre-commit run --all-files --show-diff-on-failure --color=always --hook-stage=manual | \
|
|
tee >(sed -E 's/\x1B\[([0-9]{1,2}(;[0-9]{1,2})*)?[mGK]//g' >> "$GITHUB_STEP_SUMMARY") >&1
|
|
exit_code="${PIPESTATUS[0]}"
|
|
echo '```' >> "$GITHUB_STEP_SUMMARY"
|
|
exit "$exit_code"
|
|
|
|
docs:
|
|
name: "mkdocs"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 10
|
|
env:
|
|
MKDOCS_INSIDERS_SSH_KEY_EXISTS: ${{ secrets.MKDOCS_INSIDERS_SSH_KEY != '' }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
|
|
with:
|
|
python-version: "3.13"
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Add SSH key"
|
|
if: ${{ env.MKDOCS_INSIDERS_SSH_KEY_EXISTS == 'true' }}
|
|
uses: webfactory/ssh-agent@a6f90b1f127823b31d4d4a8d96047790581349bd # v0.9.1
|
|
with:
|
|
ssh-private-key: ${{ secrets.MKDOCS_INSIDERS_SSH_KEY }}
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@0c5e2b8115b80b4c7c5ddf6ffdd634974642d182 # v5
|
|
- name: "Install Insiders dependencies"
|
|
if: ${{ env.MKDOCS_INSIDERS_SSH_KEY_EXISTS == 'true' }}
|
|
run: uv pip install -r docs/requirements-insiders.txt --system
|
|
- name: "Install dependencies"
|
|
if: ${{ env.MKDOCS_INSIDERS_SSH_KEY_EXISTS != 'true' }}
|
|
run: uv pip install -r docs/requirements.txt --system
|
|
- name: "Update README File"
|
|
run: python scripts/transform_readme.py --target mkdocs
|
|
- name: "Generate docs"
|
|
run: python scripts/generate_mkdocs.py
|
|
- name: "Check docs formatting"
|
|
run: python scripts/check_docs_formatted.py
|
|
- name: "Build Insiders docs"
|
|
if: ${{ env.MKDOCS_INSIDERS_SSH_KEY_EXISTS == 'true' }}
|
|
run: mkdocs build --strict -f mkdocs.insiders.yml
|
|
- name: "Build docs"
|
|
if: ${{ env.MKDOCS_INSIDERS_SSH_KEY_EXISTS != 'true' }}
|
|
run: mkdocs build --strict -f mkdocs.public.yml
|
|
|
|
check-formatter-instability-and-black-similarity:
|
|
name: "formatter instabilities and black similarity"
|
|
runs-on: ubuntu-latest
|
|
needs: determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.formatter == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 10
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
- name: "Run checks"
|
|
run: scripts/formatter_ecosystem_checks.sh
|
|
- name: "Github step summary"
|
|
run: cat target/formatter-ecosystem/stats.txt > "$GITHUB_STEP_SUMMARY"
|
|
- name: "Remove checkouts from cache"
|
|
run: rm -r target/formatter-ecosystem
|
|
|
|
check-ruff-lsp:
|
|
name: "test ruff-lsp"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
needs:
|
|
- cargo-test-linux
|
|
- determine_changes
|
|
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
steps:
|
|
- uses: extractions/setup-just@dd310ad5a97d8e7b41793f8ef055398d51ad4de6 # v2
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
name: "Download ruff-lsp source"
|
|
with:
|
|
persist-credentials: false
|
|
repository: "astral-sh/ruff-lsp"
|
|
|
|
- uses: actions/setup-python@8d9ed9ac5c53483de85588cdf95a591a75ab9f55 # v5
|
|
with:
|
|
# installation fails on 3.13 and newer
|
|
python-version: "3.12"
|
|
|
|
- uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
|
name: Download development ruff binary
|
|
id: ruff-target
|
|
with:
|
|
name: ruff
|
|
path: target/debug
|
|
|
|
- name: Install ruff-lsp dependencies
|
|
run: |
|
|
just install
|
|
|
|
- name: Run ruff-lsp tests
|
|
env:
|
|
DOWNLOAD_PATH: ${{ steps.ruff-target.outputs.download-path }}
|
|
run: |
|
|
# Setup development binary
|
|
pip uninstall --yes ruff
|
|
chmod +x "${DOWNLOAD_PATH}/ruff"
|
|
export PATH="${DOWNLOAD_PATH}:${PATH}"
|
|
ruff version
|
|
|
|
just test
|
|
|
|
check-playground:
|
|
name: "check playground"
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
needs:
|
|
- determine_changes
|
|
if: ${{ (needs.determine_changes.outputs.playground == 'true') }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
- name: "Install Rust toolchain"
|
|
run: rustup target add wasm32-unknown-unknown
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
with:
|
|
node-version: 22
|
|
cache: "npm"
|
|
cache-dependency-path: playground/package-lock.json
|
|
- uses: jetli/wasm-bindgen-action@20b33e20595891ab1a0ed73145d8a21fc96e7c29 # v0.2.0
|
|
- name: "Install Node dependencies"
|
|
run: npm ci
|
|
working-directory: playground
|
|
- name: "Build playgrounds"
|
|
run: npm run dev:wasm
|
|
working-directory: playground
|
|
- name: "Run TypeScript checks"
|
|
run: npm run check
|
|
working-directory: playground
|
|
- name: "Check formatting"
|
|
run: npm run fmt:check
|
|
working-directory: playground
|
|
|
|
benchmarks:
|
|
runs-on: ubuntu-24.04
|
|
needs: determine_changes
|
|
if: ${{ github.repository == 'astral-sh/ruff' && !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
|
|
timeout-minutes: 20
|
|
steps:
|
|
- name: "Checkout Branch"
|
|
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- uses: Swatinem/rust-cache@9d47c6ad4b02e050fd481d890b2ea34778fd09d6 # v2
|
|
|
|
- name: "Install Rust toolchain"
|
|
run: rustup show
|
|
|
|
- name: "Install codspeed"
|
|
uses: taiki-e/install-action@6aca1cfa12ef3a6b98ee8c70e0171bfa067604f5 # v2
|
|
with:
|
|
tool: cargo-codspeed
|
|
|
|
- name: "Build benchmarks"
|
|
run: cargo codspeed build --features codspeed -p ruff_benchmark
|
|
|
|
- name: "Run benchmarks"
|
|
uses: CodSpeedHQ/action@0010eb0ca6e89b80c88e8edaaa07cfe5f3e6664d # v3.5.0
|
|
with:
|
|
run: cargo codspeed run
|
|
token: ${{ secrets.CODSPEED_TOKEN }}
|