* fix(style): use sub recommended replacement method
See https://docs.python.org/3/library/re.html#re.escape
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* feat: add --build
* refactor: switch to using --only
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* docs: cover --only
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* docs: undo change to --plat for auditwheel
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* (unrelated) speed up running the unit tests
based on a profile run, this speeds up the unit tests by 3x
* Remove `intercepted_build_args` reliance on `platform` fixture
* Add test that checks if 'only' overrides env var options
* Ensure that the --only command line option overrides env vars
* Fix UnboundLocalError
* Test cleanups
* style: typing.cast instead of plain cast
* feat: add only: to the GHA
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
* feature: allow local runs on windows/macOS
Cache python installations to a user cache folder using platformdirs.
The build environment is now a virtual environment to allow proper isolation.
Allows to run tests in parallel.
Co-authored-by: Joe Rickerby <joerick@mac.com>
* add support for building wheels for windows on arm64
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fix main_platform_test.py
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Remove unrequired explicit nuget source
* add python arm64 3.9.9 version
* extend update_pythons.py to add win/arm64 support
* update documentation for new win/arm64 platform
* style: include ARM64 in literal
* Fix python 3.9 identifier for win_arm64
* Fix table layout issues in README and add note about arm64 pip issue
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Henry Schreiner <HenrySchreinerIII@gmail.com>
* feat: support passenv
* refactor: environment-pass and spaces
* docs: document environment pass
* Add unit test for passing through awkward env variable values
* Remove unused as_shell_commands method from environment
* Fix passthrough edge case by avoiding bash for passthrough assignments
* Fix mypy error in test
* Fix unit test
* Apply suggestions from code review
Co-authored-by: Joe Rickerby <joerick@mac.com>
* Add test for defaults, fix platform detection
* Improve correctness of reader.identifier with block
* Fix options test to be multiplatform
* 'Refactored by Sourcery'
docs: write a section on overrides
tests: test docker launches
feat: add identifiers to launches
test: add test for correct build step generation
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>