Skip to content

Mark more tests as flaky #1178

Mark more tests as flaky

Mark more tests as flaky #1178

Workflow file for this run

name: Tests
on: push
env:
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
jobs:
codegen_tests:
name: CodeGen Tests
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Clone Project
uses: actions/checkout@v4
- name: Run Lucid CodeGen tests
run: |
swift test --package-path CodeGen --enable-test-discovery
lucid_tests:
name: Lucid-iOS Tests
runs-on: macos-15
timeout-minutes: 30
env:
FASTLANE_LOGS: fastlane/test_output
FASTLANE_FRAGILE_LOGS: fastlane/fragile_test_output
GITHUB_ACCESS_TOKEN: ${{ secrets.ACCESS_TOKEN }}
FRAGILE_TESTS: LucidTests/APIClientQueueProcessorTests/test_processor_does_attempt_to_process_request_if_already_running_concurrent_request,LucidTests/BaseStoreTests/test_store_should_set_1000_entities_in_under_1_second,LucidTests/CoreDataStoreTests/test_store_should_set_1000_entities_in_under_1_second,LucidTests/CoreManagerContractTests/test_continuous_obvserver_should_get_filtered_results_matching_entities_that_meet_contract_requirements,LucidTests/CoreManagerContractTests/test_core_manager_get_should_filter_results_when_enity_does_not_meet_contract_requirements,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_complete_results_when_entity_meets_contract_requirements,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_complete_results_when_no_contract_is_provided,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_empty_results_when_no_entities_in_local_store_meet_contract_requirements,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_empty_results_when_no_entities_meet_contract_requirements_in_remote_store_for_remote_data_source,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_local_result_when_no_entities_meet_contract_requirements_in_remote_store_for_remote_or_local_data_source,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_results_from_remote_if_any_entities_in_local_store_do_not_meet_contract_requirements_for_local_or_remote_data_source,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_results_from_remote_when_no_entities_in_local_store_meet_contract_requirements_for_local_or_remote_data_source,LucidTests/CoreManagerContractTests/test_core_manager_get_should_return_results_from_remote_when_no_entities_meet_contract_requirements_in_local_store_for_local_then_remote_data_source,LucidTests/CoreManagerPropertyTests/test_that_delegate_gets_called_when_observers_are_released,LucidTests/CoreManagerPropertyTests/test_that_observer_does_not_get_update_for_duplicate_values,LucidTests/CoreManagerTests/test_continuous_observer_should_receive_all_updates_in_order,LucidTests/CoreManagerTests/test_get_local_or_remote_returns_nil_result_if_local_result_missing_and_receiving_empty_response_error,LucidTests/CoreManagerTests/test_get_local_or_remote_returns_nil_result_if_local_result_missing_and_receiving_internet_connection_error,LucidTests/CoreManagerTests/test_get_local_then_remote_returns_nil_result_if_local_result_missing_and_receiving_empty_response_error,LucidTests/CoreManagerTests/test_get_local_then_remote_returns_nil_result_if_local_result_missing_and_receiving_internet_connection_error,LucidTests/CoreManagerTests/test_get_request_returns_request_token_and_metadata_for_local_then_remote_and_local_store_fails,LucidTests/CoreManagerTests/test_get_request_returns_request_token_and_metadata_for_remote_only_strategy,LucidTests/CoreManagerTests/test_get_returns_error_for_no_access_level,LucidTests/CoreManagerTests/test_get_returns_failure_for_change_from_local_access_to_no_access,LucidTests/CoreManagerTests/test_get_returns_failure_for_change_from_local_access_to_remote_access,LucidTests/CoreManagerTests/test_get_returns_failure_for_change_from_remote_access_to_local_access,LucidTests/CoreManagerTests/test_manager_should_fail_to_get_entity_from_memory_first_but_ignore_error_and_return_remote_store_error_when_strategy_is_local_then_remote,LucidTests/CoreManagerTests/test_manager_should_send_entity_update_to_provider_when_entity_is_removed,LucidTests/CoreManagerTests/test_manager_should_send_entity_update_to_provider_when_entity_is_set,LucidTests/CoreManagerTests/test_manager_should_send_entity_update_to_provider_with_different_query_when_entity_is_not_found,LucidTests/RecoverableStoreTests/test_store_affects_both_inner_stores_in_remove_all_operations_async,LucidTests/RecoverableStoreTests/test_store_affects_both_inner_stores_in_remove_operations_async,LucidTests/RecoverableStoreTests/test_store_only_reflects_main_store_in_get_operations,LucidTests/RecoverableStoreTests/test_store_only_reflects_main_store_in_get_operations_async,LucidTests/RecoverableStoreTests/test_store_should_delete_all_entities_async,LucidTests/RecoverableStoreTests/test_store_should_overwrite_a_non_empty_recovery_store_with_a_non_empty_main_store_at_init,LucidTests/RecoverableStoreTests/test_store_should_overwrite_an_empty_main_store_with_a_non_empty_recovery_store_at_init,LucidTests/RecoverableStoreTests/test_that_merging_entities_contains_updated_data_async,LucidTests/RecoverableStoreTests/test_that_merging_entities_updates_requested_lazy_value_with_requested_lazy_value_async,LucidTests/RelationshipControllerTests/test_relationship_controller_should_continuously_send_events_when_first_event_comes_from_continuous_signal,LucidTests/RelationshipControllerTests/test_relationship_controller_should_continuously_send_events_when_first_event_comes_from_once_signal,LucidTests/RelationshipControllerTests/test_relationship_controller_should_insert_many_root_entities_with_many_relationship_entities_in_graph,LucidTests/StoreStackTests/test_should_fail_to_remove_in_remote_store_only_with_memory_store_first
steps:
- name: Clone Project
uses: actions/checkout@v4
- name: Retrieve Xcode Version from File
id: get-xcode-version
run: echo "xcode-version=$(cat .xcode-version)" >> $GITHUB_OUTPUT
# use .xcode-version file to select the version of Xcode
- name: Select Xcode Version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '${{ steps.get-xcode-version.outputs.xcode-version }}'
- name: Run Lucid-iOS Tests
run: |
fastlane scan --scheme Lucid-iOS --skip_testing "$FRAGILE_TESTS" --device "iPhone 16" --output_directory $FASTLANE_LOGS --result_bundle true
# Some tests need to be reworked. Don't forget about them, but don't crash the build either
# https://scribdjira.atlassian.net/browse/IPT-4387
- name: Run Fragile Tests
continue-on-error: true
run: |
fastlane scan --scheme Lucid-iOS --only_testing "$FRAGILE_TESTS" --device "iPhone 16" --output_directory $FASTLANE_FRAGILE_LOGS --result_bundle true
- name: Bundle Log Files
run: |
cd $FASTLANE_LOGS
zip -rX build-artifacts.zip .
cd $OLDPWD
cd $FASTLANE_FRAGILE_LOGS
zip -rX build-artifacts.zip .
- name: Upload Fastlane Log Files
uses: actions/upload-artifact@v4
with:
name: build-artifacts
path: |
${{ env.FASTLANE_LOGS }}/build-artifacts.zip
${{ env.FASTLANE_FRAGILE_LOGS }}/build-artifacts.zip