Skip to content

chore: ci housekeeping#835

Merged
yordis merged 1 commit intoelixir-tesla:masterfrom
myfloss:ci-housekeeping
Mar 19, 2026
Merged

chore: ci housekeeping#835
yordis merged 1 commit intoelixir-tesla:masterfrom
myfloss:ci-housekeeping

Conversation

@kianmeng
Copy link
Contributor

List of changes:

  • add Elixir 1.19.0 / OTP 28.0 to CI test matrix
  • fix flaky hackney max_body test
  • fix typing violation in AdapterCase
  • move format check (lint) to latest Elixir/OTP combination
  • rename httpc profile test to match *_test.exs pattern

List of changes:
- add Elixir 1.19.0 / OTP 28.0 to CI test matrix
- fix flaky hackney max_body test
- fix typing violation in AdapterCase
- move format check (lint) to latest Elixir/OTP combination
- rename httpc profile test to match *_test.exs pattern
method: :post,
url: "#{@http}/post",
body: String.duplicate("long response", 1000)
body: body
Copy link
Contributor Author

Choose a reason for hiding this comment

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

  1) test get with `:max_body` option (Tesla.Adapter.HackneyTest)                                
     test/tesla/adapter/hackney_test.exs:39                                                      
     Assertion with < failed                                                                     
     code:  assert byte_size(response.body) < 2000                                               
     left:  9089                                                                                 
     right: 2000                                                                                 
     stacktrace:                                                                                 
       test/tesla/adapter/hackney_test.exs:48: (test)

mod -> {mod, []}
end

mod.call(env, Keyword.merge(opts, adapter_opts))
Copy link
Contributor Author

Choose a reason for hiding this comment

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

 warning: expected a module (an atom) when invoking call/2 in expression:                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                            
        adapter_mod.call(env, opts)                                                                                                                                                 
                                                                                                                                            
    where "adapter_mod" (context Tesla.AdapterCase) was given the type:                                                                                                             
                                                                                                                                                                                    
        # type: {Tesla.Adapter.Httpc, non_empty_list({:profile, :test_profile})}                                                            
        # from: test/tesla/adapter/httpc_test/profile_test.exs:5                                                                                                                    
        adapter_mod                                                                                                                         
                                                                                                                                            
    where "env" (context Tesla.AdapterCase) was given the type:                                                                                                                     
                                                                                                                                                                                    
        # type: dynamic()                                                                                                                                                           
        # from: test/tesla/adapter/httpc_test/profile_test.exs:5                                                                                                                    
        env                                                                                                                                                                         
                                                                                                                                                                                    
    where "opts" (context Tesla.AdapterCase) was given the type:                                                                                                                    
                                                                                                                                                                                    
        # type: dynamic()                           
        # from: test/tesla/adapter/httpc_test/profile_test.exs:5                                         
        opts                                        

    typing violation found at:                      
    │                                               
  5 │   use Tesla.AdapterCase, adapter: {Tesla.Adapter.Httpc, profile: @profile}                         
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                              
    │                                                          
    └─ test/tesla/adapter/httpc_test/profile_test.exs:5: Tesla.Adapter.HttpcTest.Profile.call/2                               

    warning: expected a module (an atom) when invoking call/2 in expression:                                                  

        adapter_mod.call(env, opts)                            

    where "adapter_mod" (context Tesla.AdapterCase) was given the type:                                                       

        # type: {Tesla.Adapter.Finch, non_empty_list({:name, MyFinch})}                                                       
        # from: test/tesla/adapter/finch_test.exs:6                                                                           
        adapter_mod                                            

    where "env" (context Tesla.AdapterCase) was given the type:                                                               

        # type: dynamic()                                      
        # from: test/tesla/adapter/finch_test.exs:6                                                                           
        env                                                    

    where "opts" (context Tesla.AdapterCase) was given the type:                                                              

        # type: dynamic()                                      
        # from: test/tesla/adapter/finch_test.exs:6                                                                           
        opts                                                   

    typing violation found at:                                 
    │                                                          
  6 │   use Tesla.AdapterCase, adapter: {Tesla.Adapter.Finch, [name: @finch_name]}                                            
    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                            
    │                                                          
    └─ test/tesla/adapter/finch_test.exs:6: Tesla.Adapter.FinchTest.call/2   

@yordis yordis merged commit 1c03570 into elixir-tesla:master Mar 19, 2026
7 of 8 checks passed
@yordis
Copy link
Member

yordis commented Mar 19, 2026

@kianmeng as always, thank you so much.

I wonder, do you know how to fix:

Run amannn/action-semantic-pull-request@48f2562
Error: Resource not accessible by integration - https://docs.github.com/rest/commits/statuses#create-a-commit-status

It keeps failing in CI 😭

@kianmeng
Copy link
Contributor Author

@kianmeng as always, thank you so much.

I wonder, do you know how to fix:

Run amannn/action-semantic-pull-request@48f2562
Error: Resource not accessible by integration - https://docs.github.com/rest/commits/statuses#create-a-commit-status

It keeps failing in CI 😭

@yordis
Perhaps issue at the upstream GitHub actions?
It works for me when I tested it on against my own repo.

https://github.com/myfloss/tesla/pull/1/checks

image

Also, thanks for the prompt response and keeping this library well-maintained.
🥳 🥳 🥳 🥳 🥳

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.

2 participants