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

ci: Use cibuildwheel to build wheels #309

Merged
merged 2 commits into from
Oct 28, 2022

Conversation

AbdealiLoKo
Copy link
Contributor

No description provided.

@AbdealiLoKo AbdealiLoKo force-pushed the issue308 branch 10 times, most recently from 1c0de8e to f88f522 Compare October 28, 2022 06:52
Show which arch was detected in the error message
@AbdealiLoKo
Copy link
Contributor Author

AbdealiLoKo commented Oct 28, 2022

Adding some notes here to declare what are the changes to the older files and newer files.

Check https://github.com/JessicaTegner/pypandoc/actions/runs/3343755281 to see the generated wheel files in the artifact
I disabled the if: github.ref == 'refs/heads/master' filter to test.

Generates files:

  • pypandoc-1.9.tar.gz - Same as earlier, uses setup.py command to create file ☑️
  • pypandoc-1.9-py3-none-any.whl - Same as earlier, uses setup.py command to create file ☑️
  • pypandoc_binary-1.9-py3-none-win32.whl - Identical to earlier file - generated using cibuildwheel now. I don't have a win32 machine and so unable to test it. But it is identical to the older wheel for win32 ☑️
  • pypandoc_binary-1.9-py3-none-win_amd64.whl - New file - similar to win32. Tetsted with my local windows - works fine. ✅
  • pypandoc_binary-1.9-py3-none-macosx_10_15_x86_64.whl - Not generated anymore (see next line) ❌
  • pypandoc_binary-1.9-py3-none-macosx_10_9_x86_64.whl - New file - similar to 10_15 but now supports older MacOS versions ^_^/ I don't have a mac and so unable to test it. But identical to the older wheel for macos ☑️
  • pypandoc_binary-1.9-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl - New file. Tested with my local ubuntu 18.04 works fine and can support older linux versions also ✅
  • pypandoc_binary-1.9-py3-none-musllinux_1_1_x86_64.whl - New file - I tested this in an alpine docker image - worked. ✅

✅ - I have tested it manually and it works
☑️ - I have not tested as I can't create the setup. But I compared it with previous files and it is identical
❌ - Does not require testing

 - pypandoc-1.9.tar.gz
   Same as earlier, uses setup.py command to create file
 - pypandoc-1.9-py3-none-any.whl
   Same as earlier, uses setup.py command to create file
 - pypandoc_binary-1.9-py3-none-win32.whl
   Identical to earlier file - generated using cibuildwheel now. I don't have a win32 machine and so unable to test it. But it is identical to the older wheel for win32
 - pypandoc_binary-1.9-py3-none-win_amd64.whl
   New file - similar to win32. Tetsted with my local windows - works fine.
 - pypandoc_binary-1.9-py3-none-macosx_10_15_x86_64.whl
   Not generated anymore (see next line)
 - pypandoc_binary-1.9-py3-none-macosx_10_9_x86_64.whl
   New file - similar to 10_15 but now supports older MacOS versions ^_^/ I don't have a max and so unable to test it. But identical to the older wheel for macos
 - pypandoc_binary-1.9-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
   New file. Tested with my local ubuntu 18.04 works fine and can support older linux versions also
 - pypandoc_binary-1.9-py3-none-musllinux_1_1_x86_64.whl
   New file - I haven't been able to test this yet
@JessicaTegner
Copy link
Owner

@AbdealiJK phenomenal work. After merging, the "latest" tag should hold the newly generated wheels. Can you confirm that they work, and if they do, I'll publish a new version to pypi.
Again fantastic work. Thanks so much! :)

@JessicaTegner JessicaTegner merged commit 586684b into JessicaTegner:master Oct 28, 2022
@AbdealiLoKo
Copy link
Contributor Author

Thanks for the amazingly quick responses @JessicaTegner

I tested all the packages I could (i.e. everything except win32 and macos)
All looks good.

Results:

$ docker run --rm -it python /bin/sh
# pip install https://github.com/JessicaTegner/pypandoc/releases/download/latest/pypandoc-1.9.tar.gz
# echo "# head" > test.md
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
OSError: No pandoc was found
# apt update
# apt install -y pandoc
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
head
====
# pip uninstall pypandoc
# pip install https://github.com/JessicaTegner/pypandoc/releases/download/latest/pypandoc-1.9-py3-none-any.whl
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
head
====
# apt remove -y pandoc
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
OSError: No pandoc was found
# pip uninstall pypandoc
# pip install https://github.com/JessicaTegner/pypandoc/releases/download/latest/pypandoc_binary-1.9-py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
head
====


$ docker run --rm -it alpine /bin/sh
# apk add --update py-pip
# pip3 install https://github.com/JessicaTegner/pypandoc/releases/download/latest/pypandoc_binary-1.9-py3-none-musllinux_1_1_x86_64.whl
# echo "# head" > test.md
# python3 -c "import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))"
head
====


# On windows powershell:
> pip3 install https://github.com/JessicaTegner/pypandoc/releases/download/latest/pypandoc_binary-1.9-py3-none-win_amd64.whl
> python
>>> with open('test.md', 'w') as f: f.write("# head")
>>> import pypandoc; print(pypandoc.convert_file('test.md', 'rst'))
head
====

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

Successfully merging this pull request may close these issues.

2 participants