Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Github actions to create automatic builds #5

Open
vx-i opened this issue Sep 12, 2020 · 4 comments
Open

Use Github actions to create automatic builds #5

vx-i opened this issue Sep 12, 2020 · 4 comments

Comments

@vx-i
Copy link

vx-i commented Sep 12, 2020

Hi, I would like to ask if it is possible to create automatic builds with Github Actions? Or maybe even releases :-)

@vasily-v-ryabov
Copy link

GitHub Actions are easy to use, of course. But I'd like to resolve some problems before releasing automatically.

  1. We need packaging script using py2exe, cx_freeze, PyInstaller or any other such tool.
  2. We need to generate UIAutomationCore.dll wrapper in memory by using comptypes.client.gen_dir = None so that cached wrapper shouldn't be included into the executable package. It should increase startup time, but much more serioud problems will be resolved.

I'm planning to work on this task in October. But if you have time to help, I would be happy to review your pull requests and then create GitHub Actions .yml config.

@vasily-v-ryabov
Copy link

Both prerequisites are tracked in #1 by the way.

@vx-i
Copy link
Author

vx-i commented Sep 17, 2020

  1. We need packaging script using py2exe, cx_freeze, PyInstaller or any other such tool.

I would like to use PyInstaller. My first test resulted in a 40 MB file.

  1. We need to generate UIAutomationCore.dll wrapper in memory by using comptypes.client.gen_dir = None so that cached wrapper shouldn't be included into the executable package.

Can you give me a hint? I only found this: https://pythonhosted.org/comtypes/#id18. Can I use PyInstaller spec file, or should it be done in py_inspect.py?

I'm planning to work on this task in October. But if you have time to help, I would be happy to review your pull requests and then create GitHub Actions .yml config.

Since I've never done this before, I'd love to learn. So if you are looking for an apprentice ... :-)

@vasily-v-ryabov
Copy link

vasily-v-ryabov commented Sep 18, 2020

PyInstaller spec file is fine. If you take a look into neighbor branch with experimental Kivy implementation, you'll find an example of PyInstaller spec file. Maybe it's worth using the same approach for PyQt5 version which is the main one.

GitHub Actions are perfectly designed as a set of wizards. You can try to open your fork in a web browser, choose "GitHub Actions" tab at the top, try to "Set up this workflow" for different types of Python projects and preview .yml files that GitHub has generated for you. Then you can test it on your fork and make a PR. It doesn't look like a rocket science.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants