-
-
Notifications
You must be signed in to change notification settings - Fork 404
test: run unit tests for each built wheel #1432
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
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
in an assertion
only affects ppc64le linux platform
I had to fix an assertion that was too broad for the test requirements. I also have to skip testing wheels built when Otherwise, the tests are running fine on native built wheels (x86, x64, arm). 🎉 |
This is cool. Now as you said we could replace the tests workflow, and run this instead.
What do you think? Will you make a new PR? |
Sure. That sounds rather easy enough. BTW, What's the procedure for updating the CHANGELOG? Is that dependent on maintainers? Is there interest in auto-creating a GitHub release (when a tag is pushed) with auto-generated notes? |
I maintain the changelog, so far it's not much of a burden, so I didn't bother with automating it. |
Yeah, automating the changelog is best done with conventional-commit messages (the format I've been using for all my PR titles). It would be easy to add a step to wheels.yml - name: Create GitHub Release
env:
GITHUB_TOKEN: ${{ github.token }}
TAG: ${{ github.ref_name }}
REPO: ${{ github.repository }}
# https://cli.github.com/manual/gh_release_create
run: >-
gh release create ${TAG}
--verify-tag
--repo ${REPO}
--title ${TAG}
--generate-notes That way, people watching this repo will be notified when you push a new tag. |
per request from libgit2#1432 (comment) ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed. - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run.
per request from libgit2#1432 (comment) closes libgit2#1366 ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run. - cherry pick changes from PR libgit2#1366 (about CI triggers for lint and spell-check CI workflows) - auto-cancel wheels CI if new run triggered on non-default branch - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed.
per request from libgit2#1432 (comment) closes libgit2#1366 ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run. - cherry pick changes from PR libgit2#1366 (about CI triggers for lint and spell-check CI workflows) - auto-cancel wheels CI if new run triggered on non-default branch - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed.
per request from libgit2#1432 (comment) closes libgit2#1366 ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run. - cherry pick changes from PR libgit2#1366 (about CI triggers for lint and spell-check CI workflows) - auto-cancel wheels CI if new run triggered on non-default branch - use pytest.ini in cibuildwheel isolated env - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed.
per request from libgit2#1432 (comment) closes libgit2#1366 ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run. - cherry pick changes from PR libgit2#1366 (about CI triggers for lint and spell-check CI workflows) - auto-cancel wheels CI if new run triggered on non-default branch - use pytest.ini in cibuildwheel isolated env - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed. Uses release notes extracted from CHANGELOG.md (during sdist job)
per request from libgit2#1432 (comment) closes libgit2#1366 ### Changes - remove all test jobs from test.yml workflow except the one that runs on s390x platform. - rename the test.yml Display name accordingly: "Tests (s390x)" - skip building ppc64le wheels when not triggered on master branch. - reconfigure wheels.yml workflow triggers. The wheels.yml CI now runs for 1. any push to master branch 2. any change in a PR that targets master branch (excluding when PR changes only affect docs/ path) 3. any tag (starting with "v") is pushed - added `skip-existing` param in case deployment to PyPI suffers a network error and the CI just needs to be re-run. - cherry pick changes from PR libgit2#1366 (about CI triggers for lint and spell-check CI workflows) - auto-cancel wheels CI if new run triggered on non-default branch - use pytest.ini in cibuildwheel isolated env - added step to job that deploys wheels to PyPI. This new step creates a GitHub Release for the tag that was pushed. Uses release notes extracted from CHANGELOG.md (during sdist job).
Uses
cibuildwheel
to run unit tests on each binary wheel built (natively, withoutqemu
).This could replace the current tests.yml workflow as it more accurately represents user experience during tests.
If removing test.yml in favor of this patch, then I would also adjust the CI triggers for wheels.yml (to run in PR sync events). See also #1366 for additional proposal.