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

ci: add Azure Pipelines #630

Merged
merged 71 commits into from
Sep 19, 2019
Merged

ci: add Azure Pipelines #630

merged 71 commits into from
Sep 19, 2019

Conversation

cirulls
Copy link
Member

@cirulls cirulls commented Sep 17, 2019

Summary

This PR introduces Azure Pipelines as an alternative CI for running our test suite under Windows.

Why

Appveyor does not allow to run parallel builds with its free version. This means that we have to wait up to 40 minutes to have results from AppVeyor compared to 10 minutes on Travis (which can run parallel builds).

What has changed

I set up an account on Azure Devops. This is linked to my own account required by Microsoft but the builds should be visible to anyone.

The new CI relies on an azure-pipelines.yml sitting at the root of the xspec repository, this works in a similar way as the .travis.yml and appveyor.yml files and runs the same tests in the same matrix configuration. I introduced the changed suggested by @AirQuick in #629 as they greatly smooth the inconsistencies between AppVeyor and Azure Pipelines running environments.

I also introduced the Azure Pipelines badge in the README file which shows the status of the build and provides a link to the latest build.

How I tested it

  • All the tests are green in build 112. This is the latest commit in this branch.
  • A failed test in the bats-like test is correctly caught in build 107.
  • A failed test in the java compilation class is correctly caught in build 108.
  • A failed test in the .xspec tests is correctly caught in build 109.
  • A failed test in the end-to-end tests is correctly caught in build 111.

The three parallel builds take a total time of circa 12 minutes to run which is quicker than the 40 minutes we usually have to wait for sequential builds on AppVeyor. Azure Pipelines is also able to run builds from different commits in parallel as shown in this screenshot (three builds are running independently at the same time):

image

@cirulls cirulls added the test label Sep 17, 2019
@cirulls cirulls added this to the v1.5.0 milestone Sep 17, 2019
@cirulls cirulls self-assigned this Sep 17, 2019
@AirQuick
Copy link
Member

AirQuick commented Sep 17, 2019

Thanks for setting this up!

Is it possible to change the organization name from sandrocirulli to xspec? (https://dev.azure.com/xspec/) Probably this way?

@AirQuick
Copy link
Member

And the project name (dev.azure.com/sandrocirulli/sandrocirulli/). (this?)

@cirulls
Copy link
Member Author

cirulls commented Sep 18, 2019

@AirQuick: I renamed the organisation and the project in Azure DevOps and updated the README file, Azure Pipelines for XSpec is now available here.

README.md Outdated Show resolved Hide resolved
Copy link
Member

@AirQuick AirQuick left a comment

Choose a reason for hiding this comment

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

Now looks good to me. Let me merge this and let's see what happens.

@AirQuick AirQuick merged commit 6849c51 into master Sep 19, 2019
@AirQuick
Copy link
Member

The build went well and finished earlier than Travis. The status badge turned green.
@cirulls has already verified that failed tests will be correctly caught, which really convince us. Thanks for making this possible!

@AirQuick AirQuick deleted the azure_pipelines_test branch September 19, 2019 03:09
@cirulls
Copy link
Member Author

cirulls commented Sep 20, 2019

Thanks for merging it, I hope it's going to be useful and eliminate some of the waiting time caused by AppVeyor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants