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

Enable manylinux1 builds on Pipelines for CI testing #79864

Closed
zooba opened this issue Jan 8, 2019 · 8 comments
Closed

Enable manylinux1 builds on Pipelines for CI testing #79864

zooba opened this issue Jan 8, 2019 · 8 comments
Labels
3.7 (EOL) end of life 3.8 only security fixes build The build process and cross-build

Comments

@zooba
Copy link
Member

zooba commented Jan 8, 2019

BPO 35683
Nosy @warsaw, @terryjreedy, @zware, @zooba, @moreati
PRs
  • bpo-35683: Improve Azure Pipelines steps #11493
  • bpo-35683: Improve Azure Pipelines steps #11493
  • bpo-35683: Improve Azure Pipelines steps #11493
  • [3.7] bpo-35683: Improve Azure Pipelines steps (GH-11493) #11651
  • [3.7] bpo-35683: Improve Azure Pipelines steps (GH-11493) #11651
  • [3.7] bpo-35683: Improve Azure Pipelines steps (GH-11493) #11651
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = None
    created_at = <Date 2019-01-08.04:19:11.952>
    labels = ['3.8', 'build', '3.7']
    title = 'Enable manylinux1 builds on Pipelines for CI testing'
    updated_at = <Date 2019-01-22.20:33:21.371>
    user = 'https://github.com/zooba'

    bugs.python.org fields:

    activity = <Date 2019-01-22.20:33:21.371>
    actor = 'steve.dower'
    assignee = 'none'
    closed = False
    closed_date = None
    closer = None
    components = ['Cross-Build']
    creation = <Date 2019-01-08.04:19:11.952>
    creator = 'steve.dower'
    dependencies = []
    files = []
    hgrepos = []
    issue_num = 35683
    keywords = ['patch', 'patch', 'patch']
    message_count = 6.0
    messages = ['333209', '333891', '333904', '334227', '334235', '334236']
    nosy_count = 5.0
    nosy_names = ['barry', 'terry.reedy', 'zach.ware', 'steve.dower', 'Alex.Willmer']
    pr_nums = ['11493', '11493', '11493', '11651', '11651', '11651']
    priority = 'normal'
    resolution = None
    stage = 'needs patch'
    status = 'open'
    superseder = None
    type = None
    url = 'https://bugs.python.org/issue35683'
    versions = ['Python 3.7', 'Python 3.8']

    @zooba
    Copy link
    Member Author

    zooba commented Jan 8, 2019

    Azure Pipelines can now support container jobs: https://docs.microsoft.com/en-us/azure/devops/pipelines/process/container-phases?view=vsts&tabs=yaml

    I experimented with enabling a manylinux1 build a while back, which should now be able to use identical steps to the POSIX build. With the new syntax, we can enable CI (and perhaps PR?) builds using the snippet below:

    • job: ManyLinux1_CI_Tests
      displayName: ManyLinux1 CI Tests
      dependsOn: Prebuild
      condition: |
      and(
      and(
      succeeded(),
      eq(variables['manylinux'], 'true')
      ),
      eq(dependencies.Prebuild.outputs['tests.run'], 'true')
      )

      resources:
      containers:

      • container: manylinux1
        image: dockcross:manylinux-x64

      pool:
      vmImage: ubuntu-16.04

      container: manylinux1

      variables:
      testRunTitle: '$(build.sourceBranchName)-manylinux1'
      testRunPlatform: manylinux1

      steps:

      • template: ./posix-steps.yml

    I don't have time right now to test this change, but someone else might. It's certainly going to be easier for someone to test it by adding this to the PR build first (or set up a build on your own Pipelines instance).

    Maybe there are other more relevant containers we should be testing in?

    @zooba zooba added 3.7 (EOL) end of life 3.8 only security fixes build The build process and cross-build labels Jan 8, 2019
    @brettcannon brettcannon changed the title Enable manylinux1 builds on Pipelines Enable manylinux1 builds on Pipelines for CI testing Jan 8, 2019
    @zooba
    Copy link
    Member Author

    zooba commented Jan 17, 2019

    I have made the changes I suggested (though correctly...), but ultimately we need to create our own Docker image suitable for running these tests.

    So for now, I'm proposing in my PR to make most of the change, as well as a few other Pipelines/test-related improvements, but to leave this open in case someone wants to come in later with a suitable image. At that point, the only change necessary to enable the tests will be to add a "posix_deps_yum.sh" script, update the image name/tag and change the manylinux variable to 'true'.

    PR 11493 also fixes a missing LICENSE.txt file in the app store package, which was causing an idlelib test to fail as the fallback text only has one line. *Way* too obscure a failure for my liking, but at least we had a test there, so thanks, Terry :)

    @terryjreedy
    Copy link
    Member

    I believe it was Louie Lu's idea, bpo-30290, to check more than one line.
    I am glad it helped.

    @zooba
    Copy link
    Member Author

    zooba commented Jan 22, 2019

    New changeset 28f6cb3 by Steve Dower in branch 'master':
    bpo-35683: Improve Azure Pipelines steps (GH-11493)
    28f6cb3

    @zooba
    Copy link
    Member Author

    zooba commented Jan 22, 2019

    New changeset 128efca by Steve Dower in branch '3.7':
    bpo-35683: Improve Azure Pipelines steps (GH-11493)
    128efca

    @zooba
    Copy link
    Member Author

    zooba commented Jan 22, 2019

    As mentioned above, those changes are other improvements that were worth taking, and about half of the required manylinux1 changes. But we probably need to maintain our own manylinux image for building/running CPython tests, if we want to do it. The existing images are all designed for having CPython already present to build a range of binaries, which is not at all our use case.

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    @furkanonder
    Copy link
    Sponsor Contributor

    @zooba Issue seems have been resolved. Can we close the issue?

    @zooba
    Copy link
    Member Author

    zooba commented May 11, 2023

    Abandoned, rather than resolved, but I doubt we'll come back to it given the complexity of the space within manylinux these days.

    @zooba zooba closed this as not planned Won't fix, can't repro, duplicate, stale May 11, 2023
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 (EOL) end of life 3.8 only security fixes build The build process and cross-build
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants