chore: adding circleci config for docs/lint#829
chore: adding circleci config for docs/lint#829codeboten merged 4 commits intoopen-telemetry:masterfrom
Conversation
.circleci/config.yml
Outdated
| # In the cache key: | ||
| # - .Environment.CIRCLE_JOB: We do separate tox environments by job name, so caching and restoring is | ||
| # much faster. | ||
| key: tox-cache-{{ .Environment.CIRCLE_JOB }}-{{ checksum "tox.ini" }} |
There was a problem hiding this comment.
I think you will also need to checksum dev-requirements.txt and maybe other requirements files as well. I noticed there is an issue where tox won't detect updates to external requirements specified with -r or -c, so CI will be stuck on old versions or miss new deps. See tox-dev/tox#149.
There was a problem hiding this comment.
Good point, i'll take a note to add this for #828 since this current PR is really to just configure any circle ci config to remove noisy build failures
There was a problem hiding this comment.
Added dev-requirements.txt, we might end up wanting to rely on it a bit more heavily especially for dependencies that take a while to build like grpcio
.circleci/config.yml
Outdated
| setup_tox: | ||
| description: "Install tox" | ||
| steps: | ||
| - run: pip install -U tox virtualenv tox-factor |
There was a problem hiding this comment.
It seems like virtualenv is already a tox dependency.
There was a problem hiding this comment.
Fixed, turns out tox is also a dependency of tox-factor
| executors: | ||
| python38: | ||
| docker: | ||
| - image: circleci/python:3.8 |
There was a problem hiding this comment.
Does specifying the version of the image mean we won't have access to the other python versions when doing unit testing, etc?
There was a problem hiding this comment.
No, i'll configure different executors for each version of python we support.
.circleci/config.yml
Outdated
| main: | ||
| jobs: | ||
| - docs | ||
| - lint No newline at end of file |
There was a problem hiding this comment.
Space here or is github being buggy?
There was a problem hiding this comment.
Not sure what you mean
There was a problem hiding this comment.
There's a red circle with a dash in the middle in the diff.
There was a problem hiding this comment.
ah i missed that, added a newline
|
What is the end goal of the CI going to look like? |
| docs: | ||
| executor: python38 | ||
| steps: | ||
| - checkout |
There was a problem hiding this comment.
What does checkout actually do? How come we need this step if all the installations are already being done in eachdist.py?
There was a problem hiding this comment.
I'm hoping to keep the changes to tox fairly minimal in the process of moving over to circleci. I would like to take advantage of the fact that we can parallelize more jobs in circleci than we have been, so i'll have to investigate breaking jobs per version/package being built. here's some experimentation i'm doing in this PR #828 to break things up into |
Co-authored-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: Mayur Kale <mayurkale@google.com> Co-authored-by: Daniel Dyla <dyladan@users.noreply.github.com>
First step towards moving away from travis and onto circleci. This doesn't take over for any travis jobs yet, but we can start migrating them over to circleci once we're confident in their results.