▸ Week 7 Summary
Pull requests and changes made in seventh week
Introduction
This post is meant to be a reference for the work I’ve done during the seventh week.
Week 7
I have spent most of this week’s time working on the RcppDeepState GitHub Action. As discussed in my previous blog post1 I decided to integrate the actual docker based action with a composite one. Thanks to the precious advices of my mentors, I have performed this update, moving the actual docker architecture to the docker
folder of the repository and creating a new action.yml
file for the composite architecture. In this way the final result is a more flexible action that can be easily integrated with other actions available on the marketplace. In particular I have done the following improvements:
- artifact upload: the results of RcppDeepState analysis are compressed in a zip file and uploaded as an artifact file to GitHub. By doing this, the user can easily download the analysis results and check the logs, inputs and outputs;
- comment on pull request: the table that is returned by the analysis step can be printed in the pull requests if the
comment
parameter of the action is set totrue
. Here is a example of a comment message
function_name | message | file_line | address_trace |
---|---|---|---|
rcpp_read_out_of_bound | Invalid read of size 4 | read_out_of_bound.cpp:7 | No Address Trace found |
rcpp_use_after_deallocate | Invalid read of size 1 | use_after_deallocate.cpp:8 | use_after_deallocate.cpp:6 |
rcpp_use_after_free | Invalid read of size 4 | use_after_free.cpp:8 | use_after_free.cpp:6 |
rcpp_write_index_outofbound | Invalid write of size 4 | write_index_outofbound.cpp:8 | No Address Trace found |
rcpp_zero_sized_array | Invalid write of size 4 | zero_sized_array.cpp:8 | zero_sized_array.cpp:7 |
- new
fail_ci_if_error
parameter: allows developers to define whether the workflow should fail if at least one error is found by RcppDeepState;
In terms of RcppDeepState, I improved the harness creation procedure by deleting some superfluous if/else lines and reorganizing all the information for each supported datatype into a data.table structure.
Reference
Pull requests:
Blog posts: