line / armeria

Your go-to microservice framework for any situation, from the creator of Netty et al. You can build any type of microservice leveraging your favorite technologies, including gRPC, Thrift, Kotlin, Retrofit, Reactive Streams, Spring Boot and Dropwizard.
https://armeria.dev
Apache License 2.0
4.78k stars 904 forks source link

Move to another CI? #2006

Closed ikhoon closed 4 years ago

ikhoon commented 5 years ago

Recently, we have encountered an unexpected build fail issue(https://github.com/line/centraldogma/pull/426). And Travis CI is slower than other CI.

Travis CI is 25% slower than Appveyor with the same PR.

Related work: I saw an issue which considers moving another CI(Semaphore CI) to reduce build time.

FultonBrowne commented 4 years ago

You could use the built in GitHub actions, I use that for all my projects and it works well.

anuraaga commented 4 years ago

@FultonBrowne Thanks for the suggestion! I've taken a look at GitHub actions for my own projects and held off on it for now since it doesn't seem to support build caching yet which should come in a month or two.

https://github.community/t5/GitHub-Actions/Caching-files-between-GitHub-Action-executions/m-p/30974/highlight/true#M630

I think we could use some separate storage with manual operations, but probably better for us to wait for that to be implemented in actions.

trustin commented 4 years ago

On the other hand, AppVeyor introduced BYOC jobs which allow us to use our servers for running the builds: https://www.appveyor.com/blog/2019/10/01/self-hosted-jobs-on-your-computer-or-in-cloud-vms/

ikhoon commented 4 years ago

Now we are using AppVeyor BYOC https://github.com/line/armeria/pull/2157 Special thanks to @trustin 🙇‍♂️🙏

trustin commented 4 years ago

It seems like we are still capped at 5 concurrent self-hosted Linux jobs and 2 concurrent AppVeyor-hosted Windows jobs. Let me contact AppVeyor support to increase the cap for the self-hosted Linux jobs.

I don't expect them to cost us as much as they require for the AppVeyor-hosted jobs because most computation resources are provided by ourselves in self-hosted jobs. If it turns out to be still too much for us, we may have to switch to an alternative solution again.