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

port circleci to github actions #562

Closed
3 tasks done
clux opened this issue Jun 20, 2021 · 2 comments · Fixed by #563
Closed
3 tasks done

port circleci to github actions #562

clux opened this issue Jun 20, 2021 · 2 comments · Fixed by #563
Labels
automation ci and testing related

Comments

@clux
Copy link
Member

clux commented Jun 20, 2021

parallelisation issues and platform support issues on circleci is becoming ever more painful. some goals:

  • need better platform support for pre-1.0 stability guarantees #508 (want windows build working, but only got mac so far)
  • need more than parallelisation factor of 1 from circleci (they nerfed it quite hard) so we can run more tests (20 from github actions)
  • need better caching to speed up workflows (15min cycles are painful) - linked pr seems ok
  • maybe ditch musl (only used for integration test to shove into docker, do whatever is fastest)
  • serve as an easy to understand example for users of kube Document recommended deployment environment #332

@kazk, I know you started on this in https://github.com/clux/kube-rs/blob/use-github-actions/.github/workflows/ci.yml from #510 (after discussion points in #508 (comment)). Am happy to resume that unless it ties in majorly with any potential kube-test plans in #382.

@clux clux added the automation ci and testing related label Jun 20, 2021
@kazk
Copy link
Member

kazk commented Jun 20, 2021

I experimented some more on my fork to avoid spamming everyone with failed tests. Maybe you can make use of it (just rebased to latest master: https://github.com/kazk/kube-rs/tree/use-github-actions-2). I remember Windows build was painful because of OpenSSL. I had to install OpenSSL (kazk@2ceed36), and couldn't figure out how to cache it, so it took a long time on each build. Tried vendored OpenSSL too (kazk@b57f719).

I think test steps can be simplified now because most tests can be covered at once by enabling all features. There are some tests for specific combinations of features, but that should be much less.

@clux clux linked a pull request Jun 20, 2021 that will close this issue
@clux
Copy link
Member Author

clux commented Jun 20, 2021

Hah, I just confirmed the vendored vs manual install of openssl. 7 minutes to just install it... The vendoring solution does seem to work well. Even with a musl build, so maybe that's just the solution.

@clux clux closed this as completed in #563 Jun 24, 2021
clux added a commit that referenced this issue Jun 24, 2021
* Use GitHub Actions for cross platform CI

* Fix Windows build

* Fix musl build

* Get dapp

* Use vendored openssl

* Stop using cargo action

* carry on github actions

* fix musl job + accidental k8s example test + make integration a Job

* remove circle, and bring back compile checks for examples

* last commit with fresh cache

* limit feature tests to linux (windows build is super slow)

* use vendored openssl on windows

* revert vendoring and resolver

* try different openssl setup on windows

* does it cache though?

* leave out windows for now - #566

* ping hooks - 2021-06-24

Co-authored-by: kazk <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automation ci and testing related
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants