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

Initial Drone support #1069

Merged
merged 14 commits into from May 24, 2019

Conversation

Projects
None yet
5 participants
@jmreicha
Copy link
Contributor

commented May 6, 2019

Checklist

  • Adds a new Drone build target for arm64 builds
  • Add news entry
  • Adds CI integration

Resolves conda-forge/conda-forge.github.io#269.

This PR aims to add native aarch64/armv8 builds to Conda forge. Currently the Arm builds are emulated using QEMU and leverage Azure pipelines. The main issues with this approach is that Azure limits the number of CPUs for builds to 2, so large builds are slow and relying on QEMU for Arm emulation can potentially have side effects.

Adding Drone support alleviates these issues by offering native aarch64/armv8 build support as well as offering many more CPUs for builds, which should significantly speed up builds and reduce build times and avoid potential bugs/side effects.

@scopatz

This comment has been minimized.

Copy link
Member

commented May 7, 2019

Thanks for putting this in @jmreicha!

@jmreicha
Copy link
Contributor Author

left a comment

Hrm, yeah that makes sense.

@isuruf How would I access the value of docker_image in the template? I see the correct image in the rendered output, just not sure how to get it into the configuration file.

Show resolved Hide resolved conda_smithy/templates/drone.yml.tmpl Outdated
@isuruf

This comment has been minimized.

Copy link
Member

commented May 7, 2019

See #1070. You can rebase on top of that PR or merge that PR here.

@isuruf

This comment has been minimized.

Copy link
Member

commented May 8, 2019

Can you merge this branch with master?

Show resolved Hide resolved conda_smithy/configure_feedstock.py Outdated
Show resolved Hide resolved conda_smithy/configure_feedstock.py Outdated
Show resolved Hide resolved conda_smithy/configure_feedstock.py Outdated
@jmreicha

This comment has been minimized.

Copy link
Contributor Author

commented May 13, 2019

I think changes still need to be made to ci_register.py in order to add support for Drone. Unfortunately I won't have a lot of time in the short term to work on it.

If somebody else wants to take it over that would be great, otherwise progress will be much slower.

@jmreicha jmreicha marked this pull request as ready for review May 16, 2019

template_files = platform_templates.get(platform, [])

# Explicitly add in a newline character to ensure that jinja templating doesn't do something stupid
build_setup = "run_conda_forge_build_setup\n"

This comment has been minimized.

Copy link
@isuruf

isuruf May 23, 2019

Member

Can you use _get_build_setup_line here?

@isuruf

This comment has been minimized.

Copy link
Member

commented May 23, 2019

Looks good to me. We can merge this now and work on CI registration later.

@scopatz scopatz merged commit 601d236 into conda-forge:master May 24, 2019

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
@scopatz

This comment has been minimized.

Copy link
Member

commented May 24, 2019

Thanks so much for this!

@jakirkham

This comment has been minimized.

Copy link
Member

commented May 28, 2019

Looks good to me. We can merge this now and work on CI registration later.

I've gone ahead and raised issue ( #1079 ) to track this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.