@@ -84,126 +84,124 @@ public function runFailsIfNoNodesAreConfigured(): void
8484 *
8585 * Tests a simple setup with one node and one application.
8686 */
87- public function globalTaskDefinitions (): array
87+ public function globalTaskDefinitions (): \ Iterator
8888 {
89- return [
89+ yield [
90+ 'Just one global task in stage initialize ' ,
91+ static fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
92+ $ workflow
93+ ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE );
94+ },
9095 [
91- 'Just one global task in stage initialize ' ,
92- static fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
93- $ workflow
94- ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE );
95- },
9696 [
97- [
98- 'task ' => 'typo3.surf:test:setup ' ,
99- 'node ' => 'test1.example.com ' ,
100- 'application ' => 'Test application ' ,
101- 'deployment ' => 'Test rollback deployment ' ,
102- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
103- 'options ' => []
104- ],
105- [
106- 'task ' => RollbackTask::class,
107- 'node ' => 'test1.example.com ' ,
108- 'application ' => 'Test application ' ,
109- 'deployment ' => 'Test rollback deployment ' ,
110- 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
111- 'options ' => []
112- ]
97+ 'task ' => 'typo3.surf:test:setup ' ,
98+ 'node ' => 'test1.example.com ' ,
99+ 'application ' => 'Test application ' ,
100+ 'deployment ' => 'Test rollback deployment ' ,
101+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
102+ 'options ' => []
103+ ],
104+ [
105+ 'task ' => RollbackTask::class,
106+ 'node ' => 'test1.example.com ' ,
107+ 'application ' => 'Test application ' ,
108+ 'deployment ' => 'Test rollback deployment ' ,
109+ 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
110+ 'options ' => []
113111 ]
114- ],
112+ ]
113+ ];
114+ yield [
115+ 'Add multiple tasks with afterTask ' ,
116+ fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
117+ $ workflow
118+ ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE )
119+ ->afterTask ('typo3.surf:test:setup ' , ['typo3.surf:test:secondsetup ' , 'typo3.surf:test:thirdsetup ' ])
120+ ->afterTask ('typo3.surf:test:secondsetup ' , 'typo3.surf:test:finalize ' );
121+ },
115122 [
116- 'Add multiple tasks with afterTask ' ,
117- fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
118- $ workflow
119- ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE )
120- ->afterTask ('typo3.surf:test:setup ' , ['typo3.surf:test:secondsetup ' , 'typo3.surf:test:thirdsetup ' ])
121- ->afterTask ('typo3.surf:test:secondsetup ' , 'typo3.surf:test:finalize ' );
122- },
123123 [
124- [
125- 'task ' => 'typo3.surf:test:setup ' ,
126- 'node ' => 'test1.example.com ' ,
127- 'application ' => 'Test application ' ,
128- 'deployment ' => 'Test rollback deployment ' ,
129- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
130- 'options ' => []
131- ],
132- [
133- 'task ' => 'typo3.surf:test:secondsetup ' ,
134- 'node ' => 'test1.example.com ' ,
135- 'application ' => 'Test application ' ,
136- 'deployment ' => 'Test rollback deployment ' ,
137- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
138- 'options ' => []
139- ],
140- [
141- 'task ' => 'typo3.surf:test:finalize ' ,
142- 'node ' => 'test1.example.com ' ,
143- 'application ' => 'Test application ' ,
144- 'deployment ' => 'Test rollback deployment ' ,
145- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
146- 'options ' => []
147- ],
148- [
149- 'task ' => 'typo3.surf:test:thirdsetup ' ,
150- 'node ' => 'test1.example.com ' ,
151- 'application ' => 'Test application ' ,
152- 'deployment ' => 'Test rollback deployment ' ,
153- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
154- 'options ' => []
155- ],
156- [
157- 'task ' => RollbackTask::class,
158- 'node ' => 'test1.example.com ' ,
159- 'application ' => 'Test application ' ,
160- 'deployment ' => 'Test rollback deployment ' ,
161- 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
162- 'options ' => []
163- ]
124+ 'task ' => 'typo3.surf:test:setup ' ,
125+ 'node ' => 'test1.example.com ' ,
126+ 'application ' => 'Test application ' ,
127+ 'deployment ' => 'Test rollback deployment ' ,
128+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
129+ 'options ' => []
130+ ],
131+ [
132+ 'task ' => 'typo3.surf:test:secondsetup ' ,
133+ 'node ' => 'test1.example.com ' ,
134+ 'application ' => 'Test application ' ,
135+ 'deployment ' => 'Test rollback deployment ' ,
136+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
137+ 'options ' => []
138+ ],
139+ [
140+ 'task ' => 'typo3.surf:test:finalize ' ,
141+ 'node ' => 'test1.example.com ' ,
142+ 'application ' => 'Test application ' ,
143+ 'deployment ' => 'Test rollback deployment ' ,
144+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
145+ 'options ' => []
146+ ],
147+ [
148+ 'task ' => 'typo3.surf:test:thirdsetup ' ,
149+ 'node ' => 'test1.example.com ' ,
150+ 'application ' => 'Test application ' ,
151+ 'deployment ' => 'Test rollback deployment ' ,
152+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
153+ 'options ' => []
154+ ],
155+ [
156+ 'task ' => RollbackTask::class,
157+ 'node ' => 'test1.example.com ' ,
158+ 'application ' => 'Test application ' ,
159+ 'deployment ' => 'Test rollback deployment ' ,
160+ 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
161+ 'options ' => []
164162 ]
165- ],
163+ ]
164+ ];
165+ yield [
166+ 'Tasks in different stages ' ,
167+ static fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
168+ $ workflow
169+ ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE )
170+ ->addTask ('typo3.surf:test:checkout ' , RollbackWorkflowStage::STEP_02_EXECUTE )
171+ ->addTask ('typo3.surf:test:symlink ' , RollbackWorkflowStage::STEP_03_CLEANUP );
172+ },
166173 [
167- 'Tasks in different stages ' ,
168- static fn (RollbackWorkflow $ workflow , Application $ application ): callable => static function () use ($ workflow ): void {
169- $ workflow
170- ->addTask ('typo3.surf:test:setup ' , RollbackWorkflowStage::STEP_01_INITIALIZE )
171- ->addTask ('typo3.surf:test:checkout ' , RollbackWorkflowStage::STEP_02_EXECUTE )
172- ->addTask ('typo3.surf:test:symlink ' , RollbackWorkflowStage::STEP_03_CLEANUP );
173- },
174174 [
175- [
176- 'task ' => 'typo3.surf:test:setup ' ,
177- 'node ' => 'test1.example.com ' ,
178- 'application ' => 'Test application ' ,
179- 'deployment ' => 'Test rollback deployment ' ,
180- 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
181- 'options ' => []
182- ],
183- [
184- 'task ' => 'typo3.surf:test:checkout ' ,
185- 'node ' => 'test1.example.com ' ,
186- 'application ' => 'Test application ' ,
187- 'deployment ' => 'Test rollback deployment ' ,
188- 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
189- 'options ' => []
190- ],
191- [
192- 'task ' => RollbackTask::class,
193- 'node ' => 'test1.example.com ' ,
194- 'application ' => 'Test application ' ,
195- 'deployment ' => 'Test rollback deployment ' ,
196- 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
197- 'options ' => []
198- ],
199- [
200- 'task ' => 'typo3.surf:test:symlink ' ,
201- 'node ' => 'test1.example.com ' ,
202- 'application ' => 'Test application ' ,
203- 'deployment ' => 'Test rollback deployment ' ,
204- 'stage ' => RollbackWorkflowStage::STEP_03_CLEANUP ,
205- 'options ' => []
206- ]
175+ 'task ' => 'typo3.surf:test:setup ' ,
176+ 'node ' => 'test1.example.com ' ,
177+ 'application ' => 'Test application ' ,
178+ 'deployment ' => 'Test rollback deployment ' ,
179+ 'stage ' => RollbackWorkflowStage::STEP_01_INITIALIZE ,
180+ 'options ' => []
181+ ],
182+ [
183+ 'task ' => 'typo3.surf:test:checkout ' ,
184+ 'node ' => 'test1.example.com ' ,
185+ 'application ' => 'Test application ' ,
186+ 'deployment ' => 'Test rollback deployment ' ,
187+ 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
188+ 'options ' => []
189+ ],
190+ [
191+ 'task ' => RollbackTask::class,
192+ 'node ' => 'test1.example.com ' ,
193+ 'application ' => 'Test application ' ,
194+ 'deployment ' => 'Test rollback deployment ' ,
195+ 'stage ' => RollbackWorkflowStage::STEP_02_EXECUTE ,
196+ 'options ' => []
197+ ],
198+ [
199+ 'task ' => 'typo3.surf:test:symlink ' ,
200+ 'node ' => 'test1.example.com ' ,
201+ 'application ' => 'Test application ' ,
202+ 'deployment ' => 'Test rollback deployment ' ,
203+ 'stage ' => RollbackWorkflowStage::STEP_03_CLEANUP ,
204+ 'options ' => []
207205 ]
208206 ]
209207 ];
0 commit comments