-
Notifications
You must be signed in to change notification settings - Fork 14
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 using GitHub Actions #64
Conversation
Includes release and CI workflows
@azavea/operations -- I attempted to assign this to you, but it doesn't appear that GitHub supports assigning to or requesting review from teams, so I'm leaving this comment here; hopefully that's the appropriate path. Please review when you have a chance, thanks! |
- name: Install packages | ||
run: pip install flake8 | ||
|
||
- name: Lint | ||
run: flake8 |
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.
We may want to move these dependencies into setup.cfg
from a packaging semantics standpoint, like we do here. But I think that's an unrelated task and should be part of a separate PR if we decide to do so. This works fine as-is.
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.
Good call! I opened #65
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.
Excellent work! I was able to test the release workflow successfully using TestPyPI. Results are in this workflow run. I was able to use our existing PyPI credentials to log in, since I assume it's based off of a snapshot of their production database. The package also installs successfully.
I went ahead and deleted the dummy tag I used to trigger the workflow. Thank you so much for taking care of this. This is good to go 🚢
Also, I think I figured out why you couldn't tag the operations team. It seems like you can only assign teams as reviewers in private repositories for the organization. I'm not totally clear on if that's due to team secrecy settings somewhere or if that's the intended default behavior. |
d86194c
to
4c0c250
Compare
4c0c250
to
b293546
Compare
The default is 10 seconds and sometimes it's slower than that, which causes test failures.
85e266c
to
474e653
Compare
As I was rebasing to finish this, I discovered that matrix testing seems to cause the US Census geocoder to become unstable in some way that makes it unlikely that all three version tests succeed on any given run. A single Python version has a much higher chance of success, so rather than disable the US Census tests, I opted to reduce the testing matrix down to just Python 3.8. My reasoning is that this is an old library that doesn't do anything fancy syntax-wise, so the primary thing we need to be concerned about with testing different versions is probably the possibility of older constructs being deprecated in newer Python versions, so it made sense to focus on the newest version available. I also opened an issue to see if we can figure out a way to still run a multiple-version test successfully. #66 |
Overview
travis-ci.org shut down, and migrating to GitHub Actions seemed easy and is our preferred solution anyway, so this makes the switch.
Notes
This is draft while I test (I suspect CI may fail initially because I had problems with credentials locally).Testing instructions
develop
, but I believe the path to test should be as follows:Assuming the above is completed, the following cleanup tasks also need to be done before merging:
Delete me!
commit from this branch / develop