-
-
Notifications
You must be signed in to change notification settings - Fork 183
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
Modernize CI/CD workflow #1163
Modernize CI/CD workflow #1163
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1163 +/- ##
=======================================
Coverage 86.93% 86.93%
=======================================
Files 64 64
Lines 5978 5978
=======================================
Hits 5197 5197
Misses 781 781
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
7d11447
to
b915d06
Compare
a4f32b1
to
16209f8
Compare
64e5e80
to
3853656
Compare
91332e3
to
8e7c789
Compare
8e7c789
to
a42dfc7
Compare
@thehesiod: From my point of view, now would be a good time to cut a release. What do you think? |
With regards to the previously used PyPI credentials: we should both revoke them over at PyPI as well as remove them from this repo's settings. |
are there any substantial changes for users that would be included? |
Anything strictly user-facing is included in |
It's quite a lot of commits and sizeable diff: 2.13.2...master |
ya we have code changes, sounds good! |
@jakob-keller in other projects, we sometimes make an alpha-release to safely test out the pipeline. I think you could do that here as well, to get familiar with the updates. You can do that from a separate branch if you don't want a commit on main. |
2.13.3-alpha it is: https://github.com/aio-libs/aiobotocore/releases/tag/2.13.3-alpha |
Guess it didn't trigger due to the restrictive on push tags filter. Will do some experiments... |
Actually, our release process is pretty coarse: It does not involve any commits at all, just a tag. I would skip the alpha and go straight to 2.13.3. The only thing that could go wrong IMO is the publishing to PyPI, most likely due to permissions. In that case, we can fix it and try again, YOLO! |
I deleted the repository secret, however the bot account on PyPI did not have a token. So it must be under somebody else's human account. |
There we go: https://github.com/aio-libs/aiobotocore/releases/tag/2.13.3 @thehesiod: Feel free to edit the |
I believe I saw @thehesiod being mentioned in #1116 |
Nice, I didn't know there was a manual review step involved. LGTM! |
That's not compliant with PEP 440. It would be 2.13.3.a0 in Python ecosystem. |
Well, since this isn't using |
Additionally, that commit might make the change log consistent. In projects with Towncrier, it'd be generated from fragments. |
Good to know, I simply went with GitHub UI's suggestion.
We still do that manually, prior to release. |
I agree, but that's probably #1167. |
In projects, where the version is hardcoded, it's usually bumped to the next |
It worked like a charm: https://pypi.org/project/aiobotocore/ |
Thank you @thehesiod and @webknjaz for your efforts! |
If you didn't update the version in code, that what would've ended up being used. And if you'd have burned that version number, and you'd need to bump to the next stable because the release artifacts are immutable on PyPI. Good thing it didn't trigger. |
That's how I set up GitHub Environments for publishing. And that's the reason I insisted on having them. The old process didn't have this since this feature is specific to having Environments integrated. |
I typically don't really include internal related changes as they're not relevant for the consumer of the library, just add noise to end-users. Perhaps we can add internal changes in a collapsible section |
@jakob-keller we should have a test to ensure the CI fails if the version is invalid (can parse with disttools or something similar). Can do this next to our existing version checks |
I split the release notes as suggested. |
Opened as #1177 |
Here, I came up with some extra granular sections that may target some changelog reading audiences that would otherwise be treated as internal: https://yarl.aio-libs.org/en/latest/changes/#id7. |
Description of Change
Modernize CI/CD workflow based upon recommendations from https://docs.github.com/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python#publishing-to-pypi and @webknjaz
python setup.py
bybuild
pypi
Assumptions
None
Checklist for All Submissions
Checklist when updating botocore and/or aiohttp versions