diff --git a/.github/workflows/sample_build.yml b/.github/workflows/sample_build.yml new file mode 100644 index 00000000..1f7f5cf7 --- /dev/null +++ b/.github/workflows/sample_build.yml @@ -0,0 +1,28 @@ +name: Sample build + +on: [push, pull_request] + +jobs: + build_wheels: + name: Build wheels on ${{ matrix.os }} + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-18.04] + + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-python@v2 + name: Install Python + with: + python-version: '3.7' + + - name: Generate sample project + run: | + python -m test.test_projects test_0_basic.basic_project sample_project + + - name: Build wheels + run: | + cd sample_project + python -m cibuildwheel --output-dir wheelhouse diff --git a/test/test_projects/__main__.py b/test/test_projects/__main__.py index 06fe696f..070cc2a2 100644 --- a/test/test_projects/__main__.py +++ b/test/test_projects/__main__.py @@ -11,27 +11,34 @@ def main(): prog="python -m test.test_projects", description='Generate a test project to check it out' ) + parser.add_argument('--open', action='store_true', help=''' + Open the generated project in a file explorer + ''') parser.add_argument('PROJECT', help=''' Python path to a project object. E.g. test.test_0_basic.basic_project ''') + parser.add_argument('OUTPUT', nargs='?', help=''' + Path to output dir. If no dir is passed, a tempdir will be generated. + ''') options = parser.parse_args() module, _, name = options.PROJECT.rpartition('.') project = getattr(importlib.import_module(module), name) - project_dir = Path(tempfile.mkdtemp()) + project_dir = Path(options.OUTPUT or tempfile.mkdtemp()) project.generate(project_dir) print('Project generated at', project_dir) print() - if sys.platform == 'darwin': - subprocess.check_call(['open', '--', project_dir]) - elif sys.platform == 'linux2': - subprocess.check_call(['xdg-open', '--', project_dir]) - elif sys.platform == 'win32': - subprocess.check_call(['explorer', project_dir]) + if options.open: + if sys.platform == 'darwin': + subprocess.check_call(['open', '--', project_dir]) + elif sys.platform == 'linux2': + subprocess.check_call(['xdg-open', '--', project_dir]) + elif sys.platform == 'win32': + subprocess.check_call(['explorer', project_dir]) if __name__ == '__main__':