53
53
COMMIT_ID : ${{ inputs.commit_id || github.sha }} # use commit_id from the calling workflow
54
54
55
55
jobs :
56
- input_selection :
57
- if : |
58
- (github.event_name == 'schedule' && github.repository_owner == 'securefederatedai') ||
59
- (github.event_name == 'workflow_dispatch') ||
60
- (github.event.pull_request.draft == false)
61
- name : Input value selection
62
- runs-on : ubuntu-22.04
63
- outputs :
64
- # Output all the variables related to models and python versions to be used in the matrix strategy
65
- # for different jobs, however their usage depends on the selected job.
66
- selected_models_for_tls : ${{ steps.input_selection.outputs.models_for_tls }}
67
- selected_python_for_tls : ${{ steps.input_selection.outputs.python_for_tls }}
68
- steps :
69
- - name : Job to select input values
70
- id : input_selection
71
- run : |
72
- if [ "${{ env.MODEL_NAME }}" == "all" ]; then
73
- echo "models_for_tls=[\"torch/mnist\", \"keras/mnist\"]" >> "$GITHUB_OUTPUT"
74
- else
75
- echo "models_for_tls=[\"${{env.MODEL_NAME}}\"]" >> "$GITHUB_OUTPUT"
76
- fi
77
- if [ "${{ env.PYTHON_VERSION }}" == "all" ]; then
78
- echo "python_for_tls=[\"3.10\", \"3.11\"]" >> "$GITHUB_OUTPUT"
79
- else
80
- echo "python_for_tls=[\"${{env.PYTHON_VERSION}}\"]" >> "$GITHUB_OUTPUT"
81
- fi
82
-
83
- resiliency_in_native :
84
- name : With TLS
85
- needs : input_selection
56
+ resiliency_in_native_gRPC :
57
+ name : Resiliency in gRPC (torch/mnist, 3.10)
86
58
runs-on : ubuntu-22.04
87
59
timeout-minutes : 30
88
- strategy :
89
- matrix :
90
- model_name : ${{ fromJson(needs.input_selection.outputs.selected_models_for_tls) }}
91
- python_version : ${{ fromJson(needs.input_selection.outputs.selected_python_for_tls) }}
92
- exclude : # Keras does not support Python 3.12
93
- - model_name : " keras/mnist"
94
- python_version : " 3.12"
95
- fail-fast : false # do not immediately fail if one of the combinations fail
96
-
97
60
env :
98
- MODEL_NAME : ${{ matrix .model_name }}
99
- PYTHON_VERSION : ${{ matrix .python_version }}
61
+ MODEL_NAME : ${{ inputs .model_name || 'torch/mnist' }}
62
+ PYTHON_VERSION : ${{ inputs .python_version || '3.10' }}
100
63
101
64
steps :
102
65
- name : Checkout OpenFL repository
@@ -121,6 +84,38 @@ jobs:
121
84
uses : ./.github/actions/tr_post_test_run
122
85
if : ${{ always() }}
123
86
with :
124
- test_type : " Resiliency_Native"
87
+ test_type : " Resiliency_Native_gRPC"
88
+
89
+ # Uncomment below once Issue is resolved - https://github.com/securefederatedai/openfl/issues/1646
90
+ # resiliency_in_native_rest:
91
+ # name: Resiliency in REST (keras/tensorflow/mnist, 3.11)
92
+ # runs-on: ubuntu-22.04
93
+ # timeout-minutes: 30
94
+ # env:
95
+ # MODEL_NAME: ${{ inputs.model_name || 'keras/tensorflow/mnist' }}
96
+ # PYTHON_VERSION: ${{ inputs.python_version || '3.11' }}
97
+
98
+ # steps:
99
+ # - name: Checkout OpenFL repository
100
+ # id: checkout_openfl
101
+ # uses: actions/checkout@v4
102
+ # with:
103
+ # ref: ${{ env.COMMIT_ID }}
104
+
105
+ # - name: Pre test run
106
+ # uses: ./.github/actions/tr_pre_test_run
107
+ # if: ${{ always() }}
108
+
109
+ # - name: Run Task Runner E2E tests with TLS
110
+ # id: run_tests
111
+ # run: |
112
+ # python -m pytest -s tests/end_to_end/test_suites/tr_resiliency_tests.py \
113
+ # -m task_runner_basic --model_name ${{ env.MODEL_NAME }} \
114
+ # --num_collaborators ${{ env.NUM_COLLABORATORS }} --num_rounds ${{ env.NUM_ROUNDS }} --tr_rest_protocol
115
+ # echo "Task runner end to end test run completed"
125
116
126
- # TODO - Add dockerized approach as well once we have GitHub runners with higher configurations.
117
+ # - name: Post test run
118
+ # uses: ./.github/actions/tr_post_test_run
119
+ # if: ${{ always() }}
120
+ # with:
121
+ # test_type: "Resiliency_Native_REST"
0 commit comments