Skip to content

Conversation

@v1v
Copy link
Member

@v1v v1v commented Mar 4, 2020

What does this pull request do?

Replace AppVeyor with CI Jenkins.
Configuration-driven, therefore if a new python version is required then it should be added to the file .ci/.jenkins_windows.yml
Python versions that are supported so far:

  • 3.5
  • 3.6
  • 3.7
  • 3.8

Why is it important?

No more dependencies with AppVeyor.

Related issues

closes #ISSUE

Actions

  • Define a file that contains the required dependencies, therefore we don't need any changes in the Jenkinsfile but in the yml file.
  • Test all the scenarios
  • Transform sh step with something else for windows if possible.
  • Remove AppVeyor GitHub check in this repository.

Follow-ups

  • Coverage for Windows
  • Package generation for Windows
  • Support 2.7

@v1v v1v self-assigned this Mar 4, 2020
@v1v v1v force-pushed the feature/windows-builds-ci branch from a0f3852 to 4c8af8a Compare March 4, 2020 16:33
@beniwohli
Copy link
Contributor

Is this a replacement for #726?

I think for now, we can set FRAMEWORK to none for all builds. This will run all the tests that are framework independent (the vast majority of tests).

@v1v
Copy link
Member Author

v1v commented Mar 9, 2020

@beniwohli , yes, I'm working on a separate PR for the same requirement.

BENCHMARK_SECRET = 'secret/apm-team/ci/benchmark-cloud'
OPBEANS_REPO = 'opbeans-python'
HOME = "${env.WORKSPACE}"
PATH = "${env.WORKSPACE}/.local/bin:${env.WORKSPACE}/bin:${env.PATH}"
Copy link
Member Author

Choose a reason for hiding this comment

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

Otherwise, there will be a clash in the CI Windows workers

Jenkinsfile Outdated

// Let's now enable the windows stages
readYaml(file: '.ci/.jenkins_windows.yml')['windows'].each { v ->
def description = "${v.VERSION}-${v.DISTUTILS_USE_SDK.equals('1') ? 'use-sdk' : ''}-${v.WEBFRAMEWORK}"
Copy link
Member Author

Choose a reason for hiding this comment

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

This will help to run the same version with different parameters, for such the primary key is a combination of VERSION, DISTUTILS_USE_SDK and WEBFRAMEWORK.

Jenkinsfile Outdated
deleteDir()
unstash 'source'
dir("${BASE_DIR}"){
installTools([ [tool: "python${majorVersion}", version: "${version}" ] ])
Copy link
Member Author

Choose a reason for hiding this comment

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

This will help to install python2 and python3.

@v1v v1v changed the title WiP: ci(jenkins): use CI Windows workers ci(jenkins): use CI Windows workers Mar 10, 2020
@v1v v1v marked this pull request as ready for review March 10, 2020 09:27
@v1v v1v requested review from a team, basepi and beniwohli March 10, 2020 09:27
Copy link
Contributor

@beniwohli beniwohli left a comment

Choose a reason for hiding this comment

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

Awesome stuff!

Could you try to also add Python 3.8?

Copy link
Contributor

@basepi basepi left a comment

Choose a reason for hiding this comment

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

Awesome! 👍

@v1v v1v merged commit 57f5dec into elastic:master Mar 10, 2020
@v1v v1v deleted the feature/windows-builds-ci branch March 10, 2020 20:26
beniwohli pushed a commit to beniwohli/apm-agent-python that referenced this pull request Sep 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants