Skip to content
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

Build tool update #79

Merged
merged 31 commits into from
Jun 30, 2020
Merged

Build tool update #79

merged 31 commits into from
Jun 30, 2020

Conversation

jasonb5
Copy link
Collaborator

@jasonb5 jasonb5 commented Jun 2, 2020

Adds some new cli arguments:

  • conda_env: Specifies the conda environment to use.
  • extra_channels: List of channels to set in the condarc.
  • ignore_conda_missmatch: If true --no-check-uptodate is set when calling conda smithy rerender, this handles a situation when conda-smithy or conda-forge-pinning are not sync in the environment.
  • conda_rc: Path to a file that will be used to configure conda.

@jasonb5
Copy link
Collaborator Author

jasonb5 commented Jun 5, 2020

Added a few more things.

  • If a repo does not have a feedstock then we create a fake one in workdir and run conda smithy there. This prevents creating a dirty repo with conda smithys auto commits.
  • Adds a flag to use a local repo, this will replace the source section in the recipe to use the local directory rather than a git commit.

Copy link
Member

@muryanto1 muryanto1 left a comment

Choose a reason for hiding this comment

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

testing it with cdat_info (which is a noarch, and conda-forge pkg), conda-rerender and conda-build passed, and the build creates
/home/circleci/project/linux_build/miniconda/conda-bld/noarch/cdat_info-8.2.2020.06.05.23.39.gcac191d-pyh9f0ad1d_0.tar.bz2

but when we try to do upload, we did: conda build --output to get the package name, and it is returning: cdat_info-8.2.2020.06.05.23.39.gcac191d-py_0.tar.bz2


if args.do_rerender:
ret, repo_dir = clone_repo(organization, repo_name, branch, workdir)
Copy link
Member

Choose a reason for hiding this comment

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

The reason I had clone_repo() here is because doing rerendering will overwrite .circleci/config.yml.
The repo will be cloned to /<repo_name>.
If I accidentally set to the parent directory of my repo where I ran Makefile from, clone_repo() will overwrite my repo.
so it is better to put a check somewhere that should not be the same as the parent directory of the repo where I ran 'make' from.


if args.do_build:
status = build_in_local_repo(repo_dir, args.build_version)
status = build_in_local_repo(repo_dir=repo_dir, py_version=args.build_version, **kwargs)
Copy link
Member

Choose a reason for hiding this comment

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

This comments apply to both build_in_local_repo() and build_in_local_feedstock().
Currently when we do conda build, it gets the branch of the repo, which means if I do local changes, I have to commit to the branch and push it to github. Is there any way we can make 'conda build ..' to just use whatever we have in the work repo?

@muryanto1 muryanto1 requested a review from downiec June 29, 2020 23:00
@muryanto1 muryanto1 merged commit 58bd511 into master Jun 30, 2020
@muryanto1 muryanto1 deleted the build_tool_update branch July 8, 2020 21:16
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