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

updating setup-beam GH action and OTP versions #4152

Merged
merged 2 commits into from
Oct 18, 2023

Conversation

DenysGonchar
Copy link
Collaborator

@DenysGonchar DenysGonchar commented Oct 18, 2023

GH Actions build - https://github.com/esl/MongooseIM/actions/runs/6555138169

The latest setup-beam GH Action (v1.16.0 as of 18/10/2023) states that only versions up to OTP 25 are supported for ubuntu-22.04 runners (see this page for more details).

However, for all Linux runners, the setup-beam GH Action uses prebuilt OTP releases stored at builds.hex.pm. Those builds are prepared by Bob the builder, and the actual list of the prebuilt OTP versions for ubuntu-22.04 runners can be found here.

For more details, check the implementation of getOTPVersions() and installOTP() functions of setup-beam GH Action.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 18, 2023

elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / a03f0dd
Reports root/ big
OK: 369 / Failed: 0 / User-skipped: 38 / Auto-skipped: 0


small_tests_25 / small_tests / a03f0dd
Reports root / small


small_tests_26 / small_tests / a03f0dd
Reports root / small


small_tests_26_arm64 / small_tests / a03f0dd
Reports root / small


dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / a03f0dd
Reports root/ big
OK: 4272 / Failed: 0 / User-skipped: 112 / Auto-skipped: 0


ldap_mnesia_26 / ldap_mnesia / a03f0dd
Reports root/ big
OK: 2307 / Failed: 0 / User-skipped: 865 / Auto-skipped: 0


ldap_mnesia_25 / ldap_mnesia / a03f0dd
Reports root/ big
OK: 2307 / Failed: 0 / User-skipped: 865 / Auto-skipped: 0


dynamic_domains_mysql_redis_26 / mysql_redis / a03f0dd
Reports root/ big
OK: 4240 / Failed: 0 / User-skipped: 144 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / a03f0dd
Reports root/ big
OK: 4272 / Failed: 0 / User-skipped: 112 / Auto-skipped: 0


pgsql_mnesia_25 / pgsql_mnesia / a03f0dd
Reports root/ big
OK: 4661 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / a03f0dd
Reports root/ big
OK: 4269 / Failed: 0 / User-skipped: 115 / Auto-skipped: 0


mysql_redis_26 / mysql_redis / a03f0dd
Reports root/ big
OK: 4640 / Failed: 1 / User-skipped: 139 / Auto-skipped: 0

carboncopy_SUITE:one2one:dropped_client_doesnt_create_duplicate_carbons
{error,
  {{badmatch,
     [{xmlel,<<"message">>,
        [{<<"from">>,
        <<"alice_dropped_client_doesnt_create_duplicate_carbons_589@localhost">>},
         {<<"to">>,
        <<"alice_dropped_client_doesnt_create_duplicate_carbons_589@localhost/res2">>},
         {<<"xmlns">>,<<"jabber:client">>},
         {<<"type">>,<<"chat">>}],
        [{xmlel,<<"sent">>,
           [{<<"xmlns">>,<<"urn:xmpp:carbons:2">>}],
           [{xmlel,<<"forwarded">>,
            [{<<"xmlns">>,<<"urn:xmpp:forward:0">>}],
            [{xmlel,<<"message">>,
               [{<<"from">>,
                 <<"alice_dropped_client_doesnt_create_duplicate_carbons_589@localhost/res1">>},
                {<<"type">>,<<"chat">>},
                {<<"to">>,
                 <<"bob_dropped_client_doesnt_create_duplicate_carbons_589@localhost/res1">>},
                {<<"xmlns">>,<<"jabber:client">>}],
               [{xmlel,<<"body">>,[],
                  [{xmlcdata,
                     <<"And pious action">>}]}]}]}]}]}]},
   [{carboncopy_SUITE,
      '-dropped_client_doesnt_create_duplicate_carbons/1-fun-0-',4,
      [{file,
         "/home/circleci/project/big_tests/tests/carboncopy_SUITE.erl"},
       {line,189}]},
    {escalus_story,story,4,
      [{file,
         "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
       {line,72}]},
    {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
    {test_server,run_test_case_eval1,6,
      [{file,"test_serv...

Report log


internal_mnesia_26 / internal_mnesia / a03f0dd
Reports root/ big
OK: 2457 / Failed: 0 / User-skipped: 715 / Auto-skipped: 0


pgsql_cets_26 / pgsql_cets / a03f0dd
Reports root/ big
OK: 4659 / Failed: 0 / User-skipped: 121 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / a03f0dd
Reports root/ big
OK: 4661 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


mssql_mnesia_26 / odbc_mssql_mnesia / a03f0dd
Reports root/ big
OK: 4658 / Failed: 0 / User-skipped: 122 / Auto-skipped: 0


mysql_redis_26 / mysql_redis / a03f0dd
Reports root/ big
OK: 4641 / Failed: 0 / User-skipped: 139 / Auto-skipped: 0

@codecov
Copy link

codecov bot commented Oct 18, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (4ece47c) 84.00% compared to head (f82666d) 84.06%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4152      +/-   ##
==========================================
+ Coverage   84.00%   84.06%   +0.05%     
==========================================
  Files         561      561              
  Lines       34020    34020              
==========================================
+ Hits        28578    28598      +20     
+ Misses       5442     5422      -20     

see 16 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 18, 2023

elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / d435e2a
Reports root/ big
OK: 369 / Failed: 0 / User-skipped: 38 / Auto-skipped: 0


small_tests_25 / small_tests / d435e2a
Reports root / small


small_tests_26 / small_tests / d435e2a
Reports root / small

The latest `setup-beam` GH Action (`v1.16.0` as of 18/10/2023) states that only versions up to OTP 25 are supported for ubuntu-22.04 runners (see [this page](https://github.com/marketplace/actions/setup-erlang-otp-with-optional-elixir-and-mix-and-or-rebar3?version=v1.16.0#compatibility-between-operating-system-and-erlangotp) for more details).

However, for all Linux runners, the `setup-beam` GH Action uses prebuilt OTP releases stored at [builds.hex.pm](https://builds.hex.pm). Those builds are prepared by [Bob the builder](https://github.com/hexpm/bob#erlang-builds), and the actual list of the prebuilt OTP versions for ubuntu-22.04 runners can be found [here](https://builds.hex.pm/builds/otp/ubuntu-22.04/builds.txt).

For more details, check the implementation of [getOTPVersions()](https://github.com/erlef/setup-beam/blob/v1.16.0/dist/index.js#L10120) and [installOTP()](https://github.com/erlef/setup-beam/blob/v1.16.0/dist/index.js#L9721) functions of `setup-beam` GH Action.
@DenysGonchar DenysGonchar force-pushed the update-OTP-version-for-GH-Actions branch from d435e2a to f82666d Compare October 18, 2023 04:26
@mongoose-im
Copy link
Collaborator

mongoose-im commented Oct 18, 2023

elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / f82666d
Reports root/ big
OK: 369 / Failed: 0 / User-skipped: 38 / Auto-skipped: 0


small_tests_25 / small_tests / f82666d
Reports root / small


small_tests_26 / small_tests / f82666d
Reports root / small


small_tests_26_arm64 / small_tests / f82666d
Reports root / small


ldap_mnesia_25 / ldap_mnesia / f82666d
Reports root/ big
OK: 2307 / Failed: 0 / User-skipped: 865 / Auto-skipped: 0


dynamic_domains_mysql_redis_26 / mysql_redis / f82666d
Reports root/ big
OK: 4240 / Failed: 0 / User-skipped: 144 / Auto-skipped: 0


ldap_mnesia_26 / ldap_mnesia / f82666d
Reports root/ big
OK: 2306 / Failed: 1 / User-skipped: 865 / Auto-skipped: 0

pubsub_SUITE:dag+basic:retract_when_user_goes_offline_test
{error,{{badmatch,false},
    [{pubsub_tools,check_response,2,
             [{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
            {line,444}]},
     {pubsub_tools,receive_response,3,
             [{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
            {line,434}]},
     {pubsub_tools,receive_and_check_response,4,
             [{file,"/home/circleci/project/big_tests/tests/pubsub_tools.erl"},
            {line,424}]},
     {escalus_story,story,4,
            [{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
             {line,72}]},
     {test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
     {test_server,run_test_case_eval1,6,
            [{file,"test_server.erl"},{line,1302}]},
     {test_server,run_test_case_eval,9,
            [{file,"test_server.erl"},{line,1234}]}]}}

Report log


dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / f82666d
Reports root/ big
OK: 4271 / Failed: 1 / User-skipped: 112 / Auto-skipped: 0

metrics_c2s_SUITE:single:iq_one
{error,
  {{xmppStanzaReceived,
     {value,18625},
     [{times,25,
        {error,
          {badmatch,{value,18626}},
          [{metrics_helper,assert_counter,3,
             [{file,
              "/home/circleci/project/big_tests/tests/metrics_helper.erl"},
            {line,36}]},
           {mongoose_helper,do_wait_until,2,
             [{file,
              "/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
            {line,361}]},
           {metrics_c2s_SUITE,'-iq_one/1-fun-0-',1,
             [{file,
              "/home/circleci/project/big_tests/tests/metrics_c2s_SUITE.erl"},
            {line,162}]},
           {escalus_story,story,4,
             [{file,
              "/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_story.erl"},
            {line,72}]},
           {test_server,ts_tc,3,
             [{file,"test_server.erl"},{line,1782}]},
           {test_server,run_test_case_eval1,6,
             [{file,"test_server.erl"},{line,1291}]},
           {test_server,run_test_case_eval,9,
             [{file,"test_server.erl"},{line,1223}]}]}}],
     ok},
   [{mongoose_helper,do_wait_until,2,
      [{file,"/home/circleci/project/big_tests/tests/mongoose_helper.erl"},
       {line,358}]},
    {metrics_c2s_SUITE,'-iq_one/1-fun-0-',1,
      [{file,
         "/home/circleci/project/big_tests/tests/metrics_c2s_SUITE.erl"},
       {line,162}]},
    {escalus_story,story,4,
      [{file,
         "/home/circleci/project/big_tests/_build/d...

Report log


dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / f82666d
Reports root/ big
OK: 4272 / Failed: 0 / User-skipped: 112 / Auto-skipped: 0


pgsql_cets_26 / pgsql_cets / f82666d
Reports root/ big
OK: 4659 / Failed: 0 / User-skipped: 121 / Auto-skipped: 0


internal_mnesia_26 / internal_mnesia / f82666d
Reports root/ big
OK: 2457 / Failed: 0 / User-skipped: 715 / Auto-skipped: 0


dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / f82666d
Reports root/ big
OK: 4269 / Failed: 0 / User-skipped: 115 / Auto-skipped: 0


pgsql_mnesia_25 / pgsql_mnesia / f82666d
Reports root/ big
OK: 4661 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


mysql_redis_26 / mysql_redis / f82666d
Reports root/ big
OK: 4641 / Failed: 0 / User-skipped: 139 / Auto-skipped: 0


pgsql_mnesia_26 / pgsql_mnesia / f82666d
Reports root/ big
OK: 4661 / Failed: 0 / User-skipped: 119 / Auto-skipped: 0


mssql_mnesia_26 / odbc_mssql_mnesia / f82666d
Reports root/ big
OK: 4658 / Failed: 0 / User-skipped: 122 / Auto-skipped: 0


ldap_mnesia_26 / ldap_mnesia / f82666d
Reports root/ big
OK: 2307 / Failed: 0 / User-skipped: 865 / Auto-skipped: 0


dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / f82666d
Reports root/ big
OK: 4272 / Failed: 0 / User-skipped: 112 / Auto-skipped: 0

@DenysGonchar DenysGonchar marked this pull request as ready for review October 18, 2023 04:55
Copy link
Member

@pawlooss1 pawlooss1 left a comment

Choose a reason for hiding this comment

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

Looks good in general 👍 I'm wondering though - should we also run dialyzer, xref and edoc on OTP 26 as well?

@DenysGonchar
Copy link
Collaborator Author

I think it's not critical, we already do so on CircleCI. So running it on OTP 25 at GH Actions gives us a bit of diversity. it might be beneficial, especially for dialyzer.

Copy link
Member

@pawlooss1 pawlooss1 left a comment

Choose a reason for hiding this comment

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

You're right, such diversity is beneficial. Thanks for the changes 🚀

@pawlooss1 pawlooss1 merged commit 2447bd2 into master Oct 18, 2023
4 checks passed
@pawlooss1 pawlooss1 deleted the update-OTP-version-for-GH-Actions branch October 18, 2023 09:06
@chrzaszcz chrzaszcz added this to the 6.2.0 milestone Dec 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants