diff --git a/action.yml b/action.yml index 4c910ef35..3f5bcc074 100644 --- a/action.yml +++ b/action.yml @@ -9,6 +9,10 @@ inputs: description: 'Folder to place the outputs in, defaults to "wheelhouse"' required: false default: wheelhouse + config-file: + description: 'File containing the config, defaults to {package}/pyproject.toml' + required: false + default: '' branding: icon: package color: yellow @@ -24,5 +28,6 @@ runs: cibuildwheel ${{ inputs.package-dir }} --output-dir ${{ inputs.output-dir }} + --config-file "${{ input.config-file }}" 2>&1 shell: bash diff --git a/cibuildwheel/__main__.py b/cibuildwheel/__main__.py index c6a532f95..a04d3e82b 100644 --- a/cibuildwheel/__main__.py +++ b/cibuildwheel/__main__.py @@ -57,14 +57,15 @@ def main() -> None: parser.add_argument( "--output-dir", - help="Destination folder for the wheels.", + help="Destination folder for the wheels. Default: wheelhouse.", ) parser.add_argument( "--config-file", + default="", help=""" - TOML config file for cibuildwheel. Defaults to pyproject.toml, but - can be overridden with this option. + TOML config file. Default: "", meaning {package}/pyproject.toml, + if it exists. """, ) diff --git a/cibuildwheel/options.py b/cibuildwheel/options.py index 902b64fa5..9a207e9e0 100644 --- a/cibuildwheel/options.py +++ b/cibuildwheel/options.py @@ -42,7 +42,7 @@ class CommandLineArguments: platform: Literal["auto", "linux", "macos", "windows"] archs: Optional[str] output_dir: Optional[str] - config_file: Optional[str] + config_file: str package_dir: str print_build_identifiers: bool allow_empty: bool @@ -335,8 +335,9 @@ def __init__(self, platform: PlatformName, command_line_arguments: CommandLineAr def config_file_path(self) -> Optional[Path]: args = self.command_line_arguments - if args.config_file is not None: + if args.config_file: return Path(args.config_file.format(package=args.package_dir)) + # return pyproject.toml, if it's available pyproject_toml_path = Path(args.package_dir) / "pyproject.toml" if pyproject_toml_path.exists(): diff --git a/unit_test/utils.py b/unit_test/utils.py index 0f7359166..61833fa2d 100644 --- a/unit_test/utils.py +++ b/unit_test/utils.py @@ -7,7 +7,7 @@ def get_default_command_line_arguments() -> CommandLineArguments: defaults.platform = "auto" defaults.allow_empty = False defaults.archs = None - defaults.config_file = None + defaults.config_file = "" defaults.output_dir = None defaults.package_dir = "." defaults.prerelease_pythons = False