kubeclient icon indicating copy to clipboard operation
kubeclient copied to clipboard

CI: run on windows?

Open cben opened this issue 3 years ago • 5 comments

Don't know if it works, let's try :-)

'windows-latest` currently means Windows Server 2022 (https://github.blog/changelog/2022-01-11-github-actions-jobs-running-on-windows-latest-are-now-running-on-windows-server-2022/)

cben avatar Mar 23 '22 07:03 cben

:red_circle: ruby 2.5 to 3.0 fail with:

Run gem install rake bundler
ERROR:  Error installing rake:
	"rake" from rake conflicts with C:/hostedtoolcache/windows/Ruby/3.0.3/x64/bin/rake
Successfully installed bundler-2.3.9
1 gem installed

:red_circle: ruby 3.1, ruby-head, truffleruby-head pass bundle install :tada: but fail with:

C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:159:in `rescue in create_default_data_source': No source of timezone data could be found. (TZInfo::DataSourceNotFound)
Please refer to https://tzinfo.github.io/datasourcenotfound for help resolving this error.
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:156:in `create_default_data_source'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:55:in `block in get'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `synchronize'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `get'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:235:in `data_source'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:158:in `all_identifiers'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:152:in `all'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:30:in `<class:UserInfo>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:3:in `<class:ResponseObject>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:2:in `<module:OpenIDConnect>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:1:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:7:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:7:in `block in <top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:6:in `each'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:6:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/connect_object.rb:52:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/connect_object.rb:52:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect.rb:101:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect.rb:101:in `<top (required)>'
	from D:/a/kubeclient/kubeclient/test/test_oidc_auth_provider.rb:2:in `require'
	from D:/a/kubeclient/kubeclient/test/test_oidc_auth_provider.rb:2:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `block in <main>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `select'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `<main>'
C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_sources/zoneinfo_data_source.rb:232:in `initialize': None of the paths included in TZInfo::DataSources::ZoneinfoDataSource.search_path are valid zoneinfo directories. (TZInfo::DataSources::ZoneinfoDirectoryNotFound)
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:157:in `new'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:157:in `create_default_data_source'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:55:in `block in get'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `synchronize'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/data_source.rb:54:in `get'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:235:in `data_source'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:158:in `all_identifiers'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/tzinfo-2.0.4/lib/tzinfo/timezone.rb:152:in `all'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:30:in `<class:UserInfo>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:3:in `<class:ResponseObject>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:2:in `<module:OpenIDConnect>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object/user_info.rb:1:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:7:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:7:in `block in <top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:6:in `each'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/response_object.rb:6:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/connect_object.rb:52:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect/connect_object.rb:52:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect.rb:101:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/openid_connect-1.3.0/lib/openid_connect.rb:101:in `<top (required)>'
	from D:/a/kubeclient/kubeclient/test/test_oidc_auth_provider.rb:2:in `require'
	from D:/a/kubeclient/kubeclient/test/test_oidc_auth_provider.rb:2:in `<top (required)>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `require'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:17:in `block in <main>'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `select'
	from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/rake-12.3.3/lib/rake/rake_test_loader.rb:5:in `<main>'
rake aborted!

cben avatar Mar 23 '22 08:03 cben

Yay, windows now on parity with other platforms, all CRuby versions actually run the tests, and all passed except #569 :tada:

(Well, except truffleruby-head which apparently has no windows builds? anyway that's not a blocker.)

cben avatar Jul 24 '22 19:07 cben

Force-pushed to use same rebased commits as #570.

now macos 2.5 keeps timing out :confused:
It's not always at same moment — attempt 1 got stuck after test_get_from_json_oapi_v1, attempt 2 got stuck after test_timeouts_open, attempt 3 after test_irregular_names.

There is a warning that might or might not be related :shrug: :

Your RubyGems version (2.7.6.3) has a bug that prevents required_ruby_version from working for Bundler. Any scripts that use gem install bundler will break as soon as Bundler drops support for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning by running gem update --system 3.2.3

I guess it's time to drop EOL Ruby 2.5 (and 2.6?) on master branch?

cben avatar Jul 25 '22 08:07 cben

  • https://github.com/ruby/truffleruby-dev-builder/releases/latest has no windows build. Trying to exclude it...

  • This ubuntu ruby 2.5 failure is somewhat interesting, must be a low-probability flake:

      1) Failure:
    RetryTest#test_can_watch_watches [/home/runner/work/kubeclient/kubeclient/test/test_informer.rb:115]:
    Expected: [["ADDED"], ["ADDED"]]
      Actual: [[], ["ADDED"]]
    

    but unrelated to the addition of windows CI.

cben avatar Sep 02 '22 14:09 cben

Bah, broke something in github actions file.

I'm tempted to just leave non-existant (windows, truffleruby) combination in, but I think the rubocop job was already broken (it did not use os_and_command) :roll_eyes: so need to debug anyway...

cben avatar Sep 02 '22 15:09 cben