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
Merged

Initial Drone support #1069

merged 14 commits into from
May 24, 2019

Conversation

jmreicha
Copy link
Contributor

@jmreicha jmreicha 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
Copy link
Member

scopatz commented May 7, 2019

Thanks for putting this in @jmreicha!

Copy link
Contributor Author

@jmreicha jmreicha left a comment

Choose a reason for hiding this comment

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

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.

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

isuruf commented May 7, 2019

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

@isuruf
Copy link
Member

isuruf commented May 8, 2019

Can you merge this branch with master?

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 Show resolved Hide resolved
@jmreicha
Copy link
Contributor Author

jmreicha 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 14:31
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"
Copy link
Member

Choose a reason for hiding this comment

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

Can you use _get_build_setup_line here?

@isuruf
Copy link
Member

isuruf 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
@scopatz
Copy link
Member

scopatz commented May 24, 2019

Thanks so much for this!

@jakirkham
Copy link
Member

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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Build conda packages for ARM
5 participants