Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
@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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants