Skip to content

security: Pin GitHub Actions to specific git revisions - #79

Open
platform-change-automation[bot] wants to merge 1 commit into
mainfrom
batch-change/pin-github-actions-2026
Open

platform-change-automation[bot] wants to merge 1 commit into
mainfrom
batch-change/pin-github-actions-2026

Conversation

@platform-change-automation

Copy link
Copy Markdown

Summary

This change improves our supply chain security by pinning all third-party GitHub Actions to specific git revisions using pinact.

Why this matters

When GitHub Actions are referenced by mutable tags like @v3 or @main, the actual code being executed can change without notice. This creates security risks:

  1. A compromised action could introduce malicious code
  2. Breaking changes could be introduced unexpectedly
  3. Build reproducibility is compromised

What changed

  • All third-party GitHub Actions references now use immutable SHA references (@{sha}) instead of mutable tags
  • The original tag is preserved as a trailing comment so humans can still see the version
  • Internal actions from the mdsol organization are left untouched via pinact's --exclude '^mdsol/' flag
  • Future updates can be managed with pinact run to refresh SHAs against the version comments

Testing

This change does not modify the behavior of the workflows, only pins them to specific revisions. Workflows will continue to function as before, but with improved security and reproducibility.

References


This change was made automatically using the batch changes tool that @johnduhart is working on.
🔗 Changeset Specification

@github-actions

Copy link
Copy Markdown
TestsPassed ✅SkippedFailedTime ⏱
R Package Test Results320 ran320 passed0 skipped0 failed3s 949ms
TestResultTime ⏱
R Package Test Results
Connection_operations..set_dataconnect_token_rejects_empty_token✅ passed72ms
Connection_operations..set_dataconnect_token_rejects_NULL_token✅ passed72ms
Connection_operations..set_dataconnect_token_rejects_missing_token✅ passed26ms
Connection_operations..set_dataconnect_token_sets_DATACONNECT_TOKEN_env_var_for_current_session✅ passed5ms
Connection_operations..set_dataconnect_token_returns_invisible_TRUE✅ passed6ms
Connection_operations..set_dataconnect_token_returns_invisible_TRUE✅ passed2ms
Connection_operations..set_dataconnect_token_permanent_TRUE_writes_token_to_.Renviron✅ passed6ms
Connection_operations..set_dataconnect_token_permanent_TRUE_writes_token_to_.Renviron✅ passed3ms
Connection_operations..set_dataconnect_token_permanent_TRUE_replaces_existing_token_in_.Renviron✅ passed6ms
Connection_operations..set_dataconnect_token_permanent_TRUE_replaces_existing_token_in_.Renviron✅ passed3ms
Connection_operations..set_dataconnect_token_permanent_TRUE_preserves_other_.Renviron_entries✅ passed7ms
Connection_operations..set_dataconnect_token_permanent_TRUE_preserves_other_.Renviron_entries✅ passed3ms
Connection_operations..set_dataconnect_token_permanent_TRUE_warns_on_write_failure_but_still_sets_session_token✅ passed6ms
Connection_operations..set_dataconnect_token_permanent_TRUE_warns_on_write_failure_but_still_sets_session_token✅ passed1ms
Connection_operations..get_client_header_returns_a_named_list✅ passed5ms
Connection_operations..get_client_header_returns_a_named_list✅ passed2ms
Connection_operations..get_client_header_uses_the_correct_header_name✅ passed7ms
Connection_operations..get_client_header_value_starts_with_R_SDK_✅ passed8ms
Connection_operations..get_client_header_value_contains_the_package_version✅ passed6ms
Connection_operations..get_flight_options_returns_NULL_with_warning_when_reticulate_and_arrow_are_unavailable✅ passed4ms
Connection_operations..get_flight_options_returns_NULL_with_warning_when_reticulate_and_arrow_are_unavailable✅ passed3ms
Connection_operations..get_flight_options_warns_and_returns_NULL_when_py_run_string_fails_and_arrow_is_unavailable✅ passed4ms
Connection_operations..get_flight_options_warns_and_returns_NULL_when_py_run_string_fails_and_arrow_is_unavailable✅ passed3ms
Connection_operations..connect_builds_a_grpc_tcp_URI_when_use_tls_is_FALSE✅ passed3ms
Connection_operations..connect_builds_a_grpc_tcp_URI_when_use_tls_is_FALSE✅ passed2ms
Connection_operations..connect_builds_a_grpc_tls_URI_when_use_tls_is_TRUE✅ passed3ms
Connection_operations..connect_builds_a_grpc_tls_URI_when_use_tls_is_TRUE✅ passed3ms
Connection_operations..connect_builds_a_grpc_tls_URI_when_use_tls_is_TRUE✅ passed1ms
Connection_operations..connect_returns_the_client_from_.get_client✅ passed3ms
Connection_operations..get_client_stops_when_PyArrow_is_not_available✅ passed7ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed264ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed4ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed2ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed4ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed4ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed5ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed4ms
R_to_pyarrow_data_type_conversion.data.frame_with_all_R_and_Arrow_types_converts_to_expected_arrow_types✅ passed2ms
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed34ms
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed3ms
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed2ms
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed1ms
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed
R_to_pyarrow_data_type_conversion.arrow_table_to_R_data.frame_type_mapping_is_as_expected✅ passed1ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed75ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed3ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed2ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed1ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed2ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed2ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed2ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed2ms
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed
Datasets_pagination..get_datasets_forwards_server_side_pagination_page_page_size_in_criteria✅ passed1ms
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed4ms
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed1ms
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed2ms
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed
Datasets_pagination..get_datasets_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed1ms
Datasets_pagination..get_datasets_uses_total_records_from_first_item_only✅ passed28ms
Datasets_pagination..get_datasets_uses_total_records_from_first_item_only✅ passed1ms
Datasets_pagination..get_datasets_extracts_pagination_from_app_metadata_if_present_otherwise_uses_defaults✅ passed4ms
Datasets_pagination..get_datasets_extracts_pagination_from_app_metadata_if_present_otherwise_uses_defaults✅ passed2ms
Datasets_pagination..get_datasets_extracts_pagination_from_app_metadata_if_present_otherwise_uses_defaults✅ passed
Datasets_pagination..get_datasets_extracts_pagination_from_app_metadata_if_present_otherwise_uses_defaults✅ passed2ms
Datasets_pagination..get_studies_sends_correct_criteria_to_.list_flights✅ passed4ms
Datasets_pagination..get_studies_sends_correct_criteria_to_.list_flights✅ passed1ms
Datasets_pagination..get_studies_sends_correct_criteria_to_.list_flights✅ passed
Datasets_pagination..get_studies_sends_correct_criteria_to_.list_flights✅ passed2ms
Datasets_pagination..get_studies_extracts_total_records_from_first_item_only✅ passed32ms
Datasets_pagination..get_studies_extracts_total_records_from_first_item_only✅ passed1ms
Datasets_pagination..get_studies_calls_.extract_data_with_simplify_data_frame_FALSE✅ passed5ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed6ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed1ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed2ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed1ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed2ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed2ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed1ms
Datasets_pagination..get_studies_returns_correct_structure_with_studies✅ passed
Datasets_pagination..get_studies_handles_empty_results✅ passed4ms
Datasets_pagination..get_studies_handles_empty_results✅ passed2ms
Datasets_pagination..get_studies_handles_empty_results✅ passed1ms
Datasets_pagination..get_studies_handles_empty_results✅ passed2ms
Datasets_pagination..get_studies_handles_NULL_data_from_.extract_data✅ passed6ms
Datasets_pagination..get_studies_handles_NULL_data_from_.extract_data✅ passed1ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed14ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed2ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed2ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed1ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed2ms
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed
Datasets_pagination..get_studies_maps_realistic_study_environment_payload_and_prints_output✅ passed2ms
Datasets_pagination..get_studies_extracts_pagination_from_app_metadata_if_present✅ passed4ms
Datasets_pagination..get_studies_extracts_pagination_from_app_metadata_if_present✅ passed2ms
Datasets_pagination..get_studies_extracts_pagination_from_app_metadata_if_present✅ passed1ms
Datasets_pagination..get_studies_extracts_pagination_from_app_metadata_if_present✅ passed2ms
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed4ms
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed2ms
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed1ms
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed1ms
Datasets_pagination..get_studies_returns_total_records_0L_and_correct_pagination_defaults_for_empty_iterator✅ passed2ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed91ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed1ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed2ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed1ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed4ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed2ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed1ms
error_handler..parse_dataconnect_error_parses_complete_error_messages_correctly✅ passed2ms
error_handler..parse_dataconnect_error_parses_basic_error_messages_correctly✅ passed4ms
error_handler..parse_dataconnect_error_parses_basic_error_messages_correctly✅ passed2ms
error_handler..parse_dataconnect_error_parses_basic_error_messages_correctly✅ passed1ms
error_handler..parse_dataconnect_error_parses_basic_error_messages_correctly✅ passed2ms
error_handler..parse_dataconnect_error_parses_basic_error_messages_correctly✅ passed3ms
error_handler..parse_dataconnect_error_handles_messages_without_delimiter✅ passed2ms
error_handler..parse_dataconnect_error_handles_messages_without_delimiter✅ passed2ms
error_handler..parse_dataconnect_error_handles_messages_without_delimiter✅ passed1ms
error_handler..parse_dataconnect_error_handles_invalid_JSON_gracefully✅ passed4ms
error_handler..parse_dataconnect_error_handles_invalid_JSON_gracefully✅ passed
error_handler..parse_dataconnect_error_handles_invalid_JSON_gracefully✅ passed2ms
error_handler..parse_dataconnect_error_handles_incomplete_JSON✅ passed4ms
error_handler..parse_dataconnect_error_handles_incomplete_JSON✅ passed
error_handler..parse_dataconnect_error_handles_incomplete_JSON✅ passed1ms
error_handler..parse_dataconnect_error_handles_empty_string✅ passed4ms
error_handler..parse_dataconnect_error_handles_empty_string✅ passed2ms
error_handler..parse_dataconnect_error_handles_empty_string✅ passed
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed3ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed4ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed2ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed1ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed1ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed2ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed1ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed2ms
error_handler..parse_dataconnect_error_handles_non_character_input✅ passed
error_handler..parse_dataconnect_error_handles_multiple_delimiters✅ passed4ms
error_handler..parse_dataconnect_error_handles_multiple_delimiters✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_delimiters✅ passed1ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed8ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed2ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed2ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed1ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed2ms
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed
error_handler..parse_dataconnect_error_handles_JSON_with_whitespace✅ passed1ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed4ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed1ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed4ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed2ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed1ms
error_handler..parse_dataconnect_error_handles_special_characters✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed4ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed1ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed1ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed2ms
error_handler..parse_dataconnect_error_handles_multiple_error_details✅ passed1ms
error_handler..parse_dataconnect_error_handles_delimiter_without_JSON✅ passed4ms
error_handler..parse_dataconnect_error_handles_delimiter_without_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_delimiter_without_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_empty_JSON_object✅ passed4ms
error_handler..parse_dataconnect_error_handles_empty_JSON_object✅ passed2ms
error_handler..parse_dataconnect_error_handles_empty_JSON_object✅ passed
error_handler..parse_dataconnect_error_handles_empty_JSON_object✅ passed4ms
error_handler..parse_dataconnect_error_handles_empty_JSON_object✅ passed6ms
error_handler..parse_dataconnect_error_extracts_timestamp_correctly✅ passed5ms
error_handler..parse_dataconnect_error_extracts_timestamp_correctly✅ passed
error_handler..parse_dataconnect_error_extracts_timestamp_correctly✅ passed2ms
error_handler..parse_dataconnect_error_extracts_timestamp_correctly✅ passed2ms
error_handler.DataConnectError_print_method_works_correctly✅ passed24ms
error_handler.DataConnectError_print_method_works_correctly✅ passed3ms
error_handler.DataConnectError_print_method_works_correctly✅ passed2ms
error_handler.DataConnectError_print_method_works_correctly✅ passed6ms
error_handler.DataConnectError_print_method_omits_timestamp_and_details_when_absent✅ passed5ms
error_handler.DataConnectError_print_method_omits_timestamp_and_details_when_absent✅ passed
error_handler.DataConnectError_print_method_omits_timestamp_and_details_when_absent✅ passed2ms
error_handler.DataConnectError_print_method_omits_timestamp_and_details_when_absent✅ passed1ms
error_handler.ErrorDetail_class_can_be_created_with_standard_fields✅ passed4ms
error_handler.ErrorDetail_class_can_be_created_with_standard_fields✅ passed2ms
error_handler.ErrorDetail_class_can_be_created_with_standard_fields✅ passed2ms
error_handler.ErrorDetail_class_can_be_created_with_standard_fields✅ passed
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed5ms
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed2ms
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed2ms
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed1ms
error_handler.ErrorDetail_class_handles_extra_fields_beyond_standard_ones✅ passed2ms
error_handler.ErrorDetail_print_method_works_correctly✅ passed4ms
error_handler.ErrorDetail_print_method_works_correctly✅ passed2ms
error_handler.ErrorDetail_print_method_works_correctly✅ passed3ms
error_handler.ErrorDetail_print_method_works_correctly✅ passed2ms
error_handler.ErrorDetail_print_method_omits_NULL_fields✅ passed8ms
error_handler.ErrorDetail_print_method_omits_NULL_fields✅ passed2ms
error_handler.ErrorDetail_print_method_omits_NULL_fields✅ passed2ms
error_handler.ErrorDetail_print_method_outputs_extra_fields✅ passed5ms
error_handler.ErrorDetail_print_method_outputs_extra_fields✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed4ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed1ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed1ms
error_handler..parse_dataconnect_error_handles_error_messages_with_trailing_text_after_JSON✅ passed2ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed7ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed9ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed2ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed2ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed2ms
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed
error_handler..throw_dataconnect_error_throws_a_dataconnect_error_condition_with_all_fields✅ passed
error_handler..normalize_enodia_error_passes_through_non_enodia_errors_unchanged✅ passed5ms
error_handler..normalize_enodia_error_passes_through_non_enodia_errors_unchanged✅ passed
error_handler..normalize_enodia_error_passes_through_non_enodia_errors_unchanged✅ passed2ms
error_handler..normalize_enodia_error_passes_through_non_enodia_errors_unchanged✅ passed2ms
error_handler..normalize_enodia_error_passes_through_non_enodia_errors_unchanged✅ passed2ms
error_handler..normalize_enodia_error_maps_unknown_flight_unauthenticated_messages_to_AUTH_E_001✅ passed5ms
error_handler..normalize_enodia_error_maps_unknown_flight_unauthenticated_messages_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_unknown_flight_unauthenticated_messages_to_AUTH_E_001✅ passed
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed5ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed5ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed4ms
error_handler..normalize_enodia_error_maps_missing_auth_header_to_AUTH_E_001✅ passed2ms
error_handler..normalize_enodia_error_maps_malformed_token_to_AUTH_E_002✅ passed4ms
error_handler..normalize_enodia_error_maps_malformed_token_to_AUTH_E_002✅ passed2ms
error_handler..normalize_enodia_error_maps_malformed_token_to_AUTH_E_002✅ passed1ms
error_handler..normalize_enodia_error_maps_malformed_token_to_AUTH_E_002✅ passed4ms
error_handler..normalize_enodia_error_maps_malformed_token_to_AUTH_E_002✅ passed2ms
error_handler..normalize_enodia_error_maps_invalid_API_token_to_AUTH_E_003✅ passed4ms
error_handler..normalize_enodia_error_maps_invalid_API_token_to_AUTH_E_003✅ passed1ms
error_handler..normalize_enodia_error_maps_invalid_API_token_to_AUTH_E_003✅ passed2ms
error_handler..normalize_enodia_error_maps_invalid_API_token_to_AUTH_E_003✅ passed4ms
error_handler..normalize_enodia_error_maps_invalid_API_token_to_AUTH_E_003✅ passed
error_handler..normalize_enodia_error_maps_rate_limit_exceeded_to_AUTH_E_004✅ passed4ms
error_handler..normalize_enodia_error_maps_rate_limit_exceeded_to_AUTH_E_004✅ passed2ms
error_handler..normalize_enodia_error_maps_rate_limit_exceeded_to_AUTH_E_004✅ passed4ms
error_handler..normalize_enodia_error_maps_rate_limit_exceeded_to_AUTH_E_004✅ passed4ms
error_handler..normalize_enodia_error_maps_rate_limit_exceeded_to_AUTH_E_004✅ passed2ms
error_handler..normalize_enodia_error_defaults_to_AUTH_E_001_when_no_server_message✅ passed4ms
error_handler..normalize_enodia_error_defaults_to_AUTH_E_001_when_no_server_message✅ passed1ms
error_handler..normalize_enodia_error_defaults_to_AUTH_E_001_when_no_server_message✅ passed2ms
error_handler..normalize_enodia_error_gate_pattern_is_case_insensitive✅ passed4ms
error_handler..normalize_enodia_error_gate_pattern_is_case_insensitive✅ passed1ms
error_handler..normalize_enodia_error_strips_trailing_gRPC_debug_context✅ passed4ms
error_handler..normalize_enodia_error_strips_trailing_gRPC_debug_context✅ passed2ms
error_handler..normalize_enodia_error_strips_trailing_Client_context_noise✅ passed4ms
error_handler..normalize_enodia_error_strips_trailing_Client_context_noise✅ passed1ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed4ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed4ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed2ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed4ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed1ms
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed
error_handler..normalize_enodia_error_output_is_parseable_by_.parse_dataconnect_error✅ passed2ms
error_handler..normalize_enodia_error_produces_valid_ISO_8601_timestamp✅ passed7ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed28ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed4ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed4ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed4ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed3ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed3ms
Publishing_operations.dry_publish_validates_inputs_and_prepares_for_server_call✅ passed3ms
Publishing_operations.dry_publish_parses_server_response_correctly_and_drops_batch_number✅ passed2s 226ms
Publishing_operations.dry_publish_parses_server_response_correctly_and_drops_batch_number✅ passed
Publishing_operations.dry_publish_parses_server_response_correctly_and_drops_batch_number✅ passed3ms
Publishing_operations.dry_publish_handles_all_unique_rows_via_server_response✅ passed6ms
Publishing_operations.dry_publish_handles_all_unique_rows_via_server_response✅ passed1ms
Publishing_operations.dry_publish_handles_all_duplicate_rows_via_server_response✅ passed6ms
Publishing_operations.dry_publish_handles_all_duplicate_rows_via_server_response✅ passed1ms
Publishing_operations.dry_publish_returns_server_validated_counts_regardless_of_column_casing✅ passed3ms
Publishing_operations.dry_publish_returns_server_validated_counts_regardless_of_column_casing✅ passed1ms
Publishing_operations..get_valid_rows_calculates_valid_rows_correctly_using_Venn_logic✅ passed145ms
Publishing_operations..get_valid_rows_perfectly_handles_the_complex_Venn_diagram_scenario✅ passed17ms
Study_environments.StudyEnvironment_stores_uuid_and_name✅ passed9ms
Study_environments.StudyEnvironment_stores_uuid_and_name✅ passed1ms
Study_environments.StudyEnvironment_stores_uuid_and_name✅ passed1ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed4ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed1ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed2ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed1ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed1ms
Study_environments..get_studies_preserves_environments_as_named_list_entries✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed4ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms
Study_environments..get_studies_preserves_environment_entries_with_missing_fields✅ passed1ms

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.

0 participants