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

Switch from Travis CI to AppVeyor BYOC #2157

Merged
merged 3 commits into from
Oct 7, 2019
Merged

Conversation

trustin
Copy link
Member

@trustin trustin commented Oct 5, 2019

Motivation:

AppVeyor recently launched BYOC self-hosted jobs, which allows us to
utilize our own machines for building projects. It is highly
cost-effective because we can overcome the concurrency/performance limit
enforced by AppVeyor or Travis CI.

Modifications:

  • Switch from Travis CI to AppVeyor BYOC for building on Linux.
  • Ignore ArmeriaGrpcServerInteropTest.deadlineExceeded() temporarily
    on Windows.

Result:

  • Faster build

@trustin
Copy link
Member Author

trustin commented Oct 5, 2019

Successfully set up 5 dockerized build agents with 8 vCPUs, 16 GB RAM and 100GB SDD. Currently configured to run up to 20 concurrent jobs, i.e. 20 x 5 = 100 concurrent jobs. (Not sure it will stand such amount of load though 😅)

@trustin trustin force-pushed the appveyor branch 21 times, most recently from a723e91 to 7e982bd Compare October 5, 2019 09:12
@codecov
Copy link

codecov bot commented Oct 5, 2019

Codecov Report

Merging #2157 into master will decrease coverage by 0.14%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #2157      +/-   ##
============================================
- Coverage     73.59%   73.44%   -0.15%     
+ Complexity     9571     9547      -24     
============================================
  Files           837      837              
  Lines         36836    36836              
  Branches       4543     4543              
============================================
- Hits          27108    27056      -52     
- Misses         7402     7454      +52     
  Partials       2326     2326
Impacted Files Coverage Δ Complexity Δ
...rp/armeria/server/tomcat/ManagedTomcatService.java 50.84% <0%> (-22.04%) 6% <0%> (-1%)
...n/java/com/linecorp/armeria/server/HttpServer.java 40% <0%> (-20%) 2% <0%> (-1%)
...armeria/server/tomcat/Tomcat90ProtocolHandler.java 48.14% <0%> (-14.82%) 11% <0%> (-4%)
.../linecorp/armeria/internal/Http2ObjectEncoder.java 71.42% <0%> (-8.58%) 12% <0%> (-1%)
...a/com/linecorp/armeria/common/util/Exceptions.java 35.96% <0%> (-3.51%) 22% <0%> (-3%)
...meria/internal/AbstractHttp2ConnectionHandler.java 93.33% <0%> (-3.34%) 13% <0%> (-1%)
.../armeria/client/endpoint/dns/DnsEndpointGroup.java 83.15% <0%> (-3.16%) 13% <0%> (-2%)
...om/linecorp/armeria/server/jetty/JettyService.java 63.05% <0%> (-2.96%) 23% <0%> (-1%)
.../linecorp/armeria/server/tomcat/TomcatService.java 63.82% <0%> (-2.66%) 24% <0%> (-1%)
...om/linecorp/armeria/client/HttpSessionHandler.java 58.47% <0%> (-2.55%) 27% <0%> (-2%)
... and 4 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 326877a...0024c12. Read the comment docs.

@trustin trustin force-pushed the appveyor branch 4 times, most recently from 9dece06 to dba5105 Compare October 5, 2019 11:01
@trustin trustin force-pushed the appveyor branch 10 times, most recently from b933a3a to b5a13be Compare October 6, 2019 06:32
@trustin
Copy link
Member Author

trustin commented Oct 6, 2019

Cache is now working. I just used a local volume and rsync for speed and simplicity. Let me know what you think.

.appveyor.sh Show resolved Hide resolved
.appveyor.sh Show resolved Hide resolved
.appveyor.sh Show resolved Hide resolved
@trustin trustin force-pushed the appveyor branch 2 times, most recently from a7f84f7 to 4033a80 Compare October 6, 2019 13:18
Motivation:

AppVeyor recently launched BYOC self-hosted jobs, which allows us to
utilize our own machines for building projects. It is highly
cost-effective because we can overcome the concurrency/performance limit
enforced by AppVeyor or Travis CI.

Modifications:

- Switch from Travis CI to AppVeyor BYOC for building on Linux.
- Ignore `ArmeriaGrpcServerInteropTest.deadlineExceeded()` temporarily
  on Windows.

Result:

- Faster build
@trustin trustin changed the title [WIP] Try AppVeyor BYOC Switch from Travis CI to AppVeyor BYOC Oct 6, 2019
@trustin trustin added this to the 0.94.1 milestone Oct 6, 2019
@trustin
Copy link
Member Author

trustin commented Oct 6, 2019

This is now ready for reviews.

Copy link
Contributor

@ikhoon ikhoon left a comment

Choose a reason for hiding this comment

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

Awesome work! We have been looking forward to this feature. I really appreciate your efforts.

Copy link
Member

@minwoox minwoox left a comment

Choose a reason for hiding this comment

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

Thanks a lot! 🙇

@trustin trustin merged commit 85fd0d5 into line:master Oct 7, 2019
@trustin trustin deleted the appveyor branch October 7, 2019 01:29
@trustin
Copy link
Member Author

trustin commented Oct 7, 2019

Thanks for reviewing!

@ikhoon ikhoon mentioned this pull request Oct 7, 2019
eugene70 pushed a commit to eugene70/armeria that referenced this pull request Oct 16, 2019
Motivation:

AppVeyor recently launched BYOC self-hosted jobs, which allow us to
utilize our own machines for building projects. It is highly
cost-effective because we can overcome the concurrency/performance limit
enforced by AppVeyor or Travis CI.

Modifications:

- Switch from Travis CI to AppVeyor BYOC for building on Linux.
- Ignore `ArmeriaGrpcServerInteropTest.deadlineExceeded()` temporarily
  on Windows.

Result:

- Faster build
fmguerreiro pushed a commit to fmguerreiro/armeria that referenced this pull request Sep 19, 2020
Motivation:

AppVeyor recently launched BYOC self-hosted jobs, which allow us to
utilize our own machines for building projects. It is highly
cost-effective because we can overcome the concurrency/performance limit
enforced by AppVeyor or Travis CI.

Modifications:

- Switch from Travis CI to AppVeyor BYOC for building on Linux.
- Ignore `ArmeriaGrpcServerInteropTest.deadlineExceeded()` temporarily
  on Windows.

Result:

- Faster build
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.

4 participants