-
-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Travis CI migration and packaging improvements #2990
Conversation
setup.py
Outdated
'CI: Shippable': 'https://app.shippable.com/github/{}'.format(repo_slug), | ||
'CI: Travis': 'https://travis-ci.com/{}'.format(repo_slug), | ||
'Coverage: codecov': 'https://codecov.io/github/{}'.format(repo_slug), | ||
'Docs: RTD': 'https://{}.readthedocs.io'.format(name), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is http://docs.aiohttp.org
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
*https
setup.py
Outdated
|
||
name = 'aiohttp' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't like name
substitution.
A plain constant is more obvious than string-formatted, isn't it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't want to create code diversity, which often leads to forgetting to update some of places. Also, I use this approach in lots other distributions including multidict, which proved to be useful.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've approved it for multidict but now I'm inclining to revert bare strings back.
It is written once but read many times.
Every time when I see the line I should remember what name is.
You've convinced me that we need overcomplicated travis config. Perhaps it is true, I'm not Travis expert.
But for setup.py
I pretty sure that the simplest approach is the best.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd agree if we were using declarative setup.cfg
, but this is code here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By the way I have an 80-line shim snippet for supporting newer setuptools, which would allow us to move a vast of meta/options to setup.cfg
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's how it would've looked in ansible if we accepted the patch: https://github.com/ansible/ansible/pull/38413/files#diff-380c6a8ebbbce17d55d50ef17d3cf906R1
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1 to move all to setup.cfg
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know how to do it, it's just not going to be in the same PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, there's certain complications related to this change. So let's not rush.
setup.py
Outdated
|
||
name = 'aiohttp' | ||
appveyor_slug = 'asvetlov/{}'.format(name) # FIXME: move under aio-libs/* slug |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@asvetlov how about finally fixing AppVeyor URL?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't remember how to setup it.
Could you do it yourself?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This requires owner privileges AFAIR, so I can't. It's a bit tricky, but the bottom line is that you create a team there mapped to the team in GitHub and give it some access there. Also you need to somehow create an org link there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here you go: https://www.appveyor.com/docs/team-setup/#setting-up-appveyor-account-for-github-organization
Create a separate account called aio-libs
and then add your personal account as its administrator. You can also create team mapped to some team in GitHub, allowing its members to cancel/rerun builds.
5710686
to
2c9c521
Compare
2c9c521
to
9396516
Compare
@asvetlov please remove this deprecated integration |
@webknjaz I've added you to admin team. |
Anyway updated travis integration by your request |
Sure, thanks :) |
I'm still seeing it @ https://github.com/aio-libs/aiohttp/settings/installations. |
@asvetlov can we accept it now? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost good but I have a couple questions to discuss before merging
@@ -14,10 +14,10 @@ install: | |||
build: false | |||
|
|||
test_script: | |||
- "tools/build.cmd %PYTHON%\\python.exe setup.py test" | |||
- "tools/build.cmd %PYTHON%\\python.exe -m pytest tests" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why -m
? Technically setup.py
is not an importable module but just a script.
Did I miss something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running setup.py test
is considered bad practice and it's broken in this CI for some reason. Thus we have to run pytest
as it's designed to work.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, I see
.appveyor.yml
Outdated
|
||
after_test: | ||
- "tools/build.cmd %PYTHON%\\python.exe setup.py sdist bdist_wheel" | ||
- "tools/build.cmd %PYTHON%\\python.exe -m setup sdist bdist_wheel" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-m
again
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it just looks cleaner, but doesn't really change things. you can run any python script/module this way. it's not only for packages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I know I can but it looks confusing. At least for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might look confusing for someone who is not used to it. It works though, I'm using it all the time now.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a [new issue] for related bugs. |
What do these changes do?
Are there changes in behavior for the user?
‒
Related issue number
‒
Checklist
CONTRIBUTORS.txt
CHANGES
folder<issue_id>.<type>
for example (588.bugfix)issue_id
change it to the pr id after creating the pr.feature
: Signifying a new feature..bugfix
: Signifying a bug fix..doc
: Signifying a documentation improvement..removal
: Signifying a deprecation or removal of public API..misc
: A ticket has been closed, but it is not of interest to users.