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

PyPI workflow #1645

Merged
merged 1 commit into from
Nov 15, 2020
Merged

PyPI workflow #1645

merged 1 commit into from
Nov 15, 2020

Conversation

chfl4gs
Copy link

@chfl4gs chfl4gs commented Jun 15, 2020

Purpose:

  • Utilizing github action to build and publish python distribution packages including source package to pypi.org on repo [tag]. Build will still be triggered on [push].
  • Speed up project release process.

Binary distribution packages:
sdist, win32, win-amd64, manylinux1_x86_64, manylinux1_i686, macos_10.14_x86_64

Preparation:

  • Go to https://pypi.org/manage/account/#api-tokens and create a new API token for the Capstone-engine project on PyPI, limit the token scope to just this project. You can call it something like GitHub Actions CI/CD or anything that can be easily distinguishable in the token list. Don’t close the page just yet — you won’t see that token again.

  • In a separate browser tab or window, go to the Github Settings tab of capstone-engine/capstone repository and then click on Secrets in the left sidebar.

  • Create a new secret called pypi_pass and copy-paste the token generated from the first step.

  • Repeat the steps for test.pypi.org and create a secret named testpypi_pass with the testpypi token.

Build tools/Dockers
Using dockcross's manylinux1 images for Linux builds. Comply with PEP 513 requirements.

Artifacts
Workflow will produce zipped a artifact containing all the files for download/inspection/testing.

Workflows

  • Update VERSION according to PEP 440 and tag and release (manual)
  • Update setup.py for dev status classifiers. (manual)
  • Build wheel for respective OSes on push. (automated)
  • If tagged and builds completed, download artifacts and upload to Test PyPI. (automated)
  • If Test PyPi upload completed without any error, upload files to real PyPI site. (automated)

@aquynh aquynh merged commit 87d8aa3 into capstone-engine:master Nov 15, 2020
@aquynh
Copy link
Collaborator

aquynh commented Nov 15, 2020

merged, thanks!

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.

None yet

2 participants