Thanks to visit codestin.com
Credit goes to github.com

Skip to content

chore: adding circleci config for docs/lint #829

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

Merged
merged 4 commits into from
Jun 16, 2020

Conversation

codeboten
Copy link
Contributor

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.

@codeboten codeboten requested a review from a team June 15, 2020 23:54
Copy link
Member

@aabmass aabmass left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One comment, otherwise LGTM

# 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" }}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Contributor Author

@codeboten codeboten Jun 16, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

setup_tox:
description: "Install tox"
steps:
- run: pip install -U tox virtualenv tox-factor
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems like virtualenv is already a tox dependency.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will fix in #828

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed, turns out tox is also a dependency of tox-factor

executors:
python38:
docker:
- image: circleci/python:3.8
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does specifying the version of the image mean we won't have access to the other python versions when doing unit testing, etc?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, i'll configure different executors for each version of python we support.

main:
jobs:
- docs
- lint
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Space here or is github being buggy?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure what you mean

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a red circle with a dash in the middle in the diff.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ah i missed that, added a newline

@lzchen
Copy link
Contributor

lzchen commented Jun 16, 2020

What is the end goal of the CI going to look like? .tox not changing at all and .circleci simply replacing travis.yml?

docs:
executor: python38
steps:
- checkout
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does checkout actually do? How come we need this step if all the installations are already being done in eachdist.py?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@codeboten
Copy link
Contributor Author

What is the end goal of the CI going to look like? .tox not changing at all and .circleci simply replacing travis.yml?

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 core vs ext builds per version. The end goal here is to speed up the build and improve our usage of caching as well.

Copy link
Contributor

@lzchen lzchen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice

@codeboten codeboten merged commit 02b1968 into open-telemetry:master Jun 16, 2020
srikanthccv pushed a commit to srikanthccv/opentelemetry-python that referenced this pull request Nov 1, 2020
Co-authored-by: Renovate Bot <[email protected]>
Co-authored-by: Mayur Kale <[email protected]>
Co-authored-by: Daniel Dyla <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants