Add Pipeline Schedules that supersedes experimental Trigger Schedule
-
Changelog entry added, if necessary -
Documentation created/updated - Tests
-
Added for this feature/bug -
All builds are passing
-
-
Remove old view, and delete those tests
Merge request reports
Activity
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
@zj I clicked around the UI -- all looks good. Thanks for making my life easier
😄 Edited by username-removed-408230@zj What's the best way to expose timezone data for the timezone dropdown? I see that Rufus depends on data from
TZInfo
... perhaps that can export timezone data we can expose as JSON?Edited by username-removed-408230- Resolved by Zeger-Jan van de Weg
@zj What's the best way to expose timezone data for the timezone dropdown? I see that Rufus depends on data from TZInfo... perhaps that can export timezone data we can expose as JSON?
@brycepj Not sure what you mean, do you want all timezones exposed? Because we already expose the timezone of the schedule under
schedule.cron_timezone
?
changed milestone to %9.2
marked the checklist item Changelog entry added, if necessary as completed
/cc @bikebilly
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by username-removed-408230
- Resolved by username-removed-408230
added 2 commits
marked as a Work In Progress from 139b0a8c
@ayufan I feel
Schedule
as model is too generic, I know we namespace it underCi
but still I'm not sure about it. Either way, it doesn't really matter to me, PipelineSchedule just felt right as its exactly that. Also, schedule is quite generic, and maybe we'd like to schedule other stuff in the futures so taking theSchedule
as model seemed a bit greedy. Could you confirm you want it renamed?Edited by Zeger-Jan van de Wegmentioned in merge request !10917 (merged)
marked the checklist item Documentation created/updated as completed
added 271 commits
-
7f0fb529...080aac05 - 261 commits from branch
master
- 89bc18d9 - Basic controller and views for pipeline schedules
- f16ffc5c - First iteration frontend for PipelineSchedules
- 03ce8db1 - Remove unneeded code, and add test
- 3b804634 - Add Pipeline Schedules table
- 20d96040 - Add pipeline_schedule_id to ci_pipelines
- dd0d568f - Migrate data from trigger schedules to pipeline schedules
- 17baaddc - Drop ci_trigger_schedules table
- c4d0b1fa - Rewrite backend to handle the PipelineSchedule model
- bb5a8caa - Add documentation on Pipeline Schedules
- 26f16c25 - Add pipeline schedules' abilities
Toggle commit list-
7f0fb529...080aac05 - 261 commits from branch
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
Could you review once more, @ayufan?
assigned to @ayufan
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
mentioned in issue #31250 (closed)
added 1 commit
- 026c2223 - add missing pipeline_schedule to all_models.yml
added 178 commits
-
026c2223...e9f3d245 - 166 commits from branch
master
- c3993d11 - Basic controller and views for pipeline schedules
- 848860b8 - First iteration frontend for PipelineSchedules
- a94fdffc - Remove unneeded code, and add test
- 40f29c47 - Add Pipeline Schedules table
- 9c7c6be8 - Add pipeline_schedule_id to ci_pipelines
- 306c5ebb - Migrate data from trigger schedules to pipeline schedules
- 59d4d3a4 - Drop ci_trigger_schedules table
- 46e23f9e - Rewrite backend to handle the PipelineSchedule model
- 557f1f4d - Add documentation on Pipeline Schedules
- ce4917fa - Add pipeline schedules' abilities
- 04d48fbb - Fix Import Export tests, reintroduce triggers factory
- 8e5d2d45 - Remove old UI for adding trigger schedules
Toggle commit list-
026c2223...e9f3d245 - 166 commits from branch
added 145 commits
-
6ace1c73...93e83afb - 133 commits from branch
master
- fdeac968 - Basic controller and views for pipeline schedules
- bb56da32 - First iteration frontend for PipelineSchedules
- cb47377f - Remove unneeded code, and add test
- 9a69a463 - Add Pipeline Schedules table
- db67b612 - Add pipeline_schedule_id to ci_pipelines
- df5a1dd1 - Migrate data from trigger schedules to pipeline schedules
- 72eaed13 - Drop ci_trigger_schedules table
- 27fdeef5 - Rewrite backend to handle the PipelineSchedule model
- d0db59c0 - Add documentation on Pipeline Schedules
- 4dabb872 - Add pipeline schedules' abilities
- a236dab6 - Fix Import Export tests, reintroduce triggers factory
- d1e5458c - Remove old UI for adding trigger schedules
Toggle commit list-
6ace1c73...93e83afb - 133 commits from branch
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by username-removed-201402
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by username-removed-408230
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by username-removed-408230
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
@zj I left a couple notes. Nice work with this one!
👍 Can you provide some screenshots? It also appears that we have a few legitimate failures within the CI pipeline.assigned to @zj
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
@zj Looking at the migrations I don't see why this would require downtime if the usual zero downtime approach is taken (and I'm not sure why this isn't the case already):
- Add the new structures
- Migrate any data necessary
- Deploy the code
- Use a post-deployment migration to migrate any remaining data
- Use a post-deployment migration to drop any old tables/columns/etc
You don't need downtime for this, and it can all be done in a single release.
Edited by yorickpeterse-staging@yorickpeterse I wasn't claiming they did, I claimed in the current way they needed downtime.
Thanks for taking a look
added 70 commits
-
d1e5458c...6068b863 - 57 commits from branch
master
- eaef2bd1 - Basic controller and views for pipeline schedules
- 1ed44f1b - First iteration frontend for PipelineSchedules
- d54fc805 - Remove unneeded code, and add test
- 5c7e584d - Add Pipeline Schedules table
- 4e0c31a3 - Add pipeline_schedule_id to ci_pipelines
- 219f61fc - Migrate data from trigger schedules to pipeline schedules
- d5edcf4c - Drop ci_trigger_schedules table
- 45b458db - Rewrite backend to handle the PipelineSchedule model
- 715d8d5f - Add documentation on Pipeline Schedules
- a9944a25 - Add pipeline schedules' abilities
- 9cc70c0a - Fix Import Export tests, reintroduce triggers factory
- da852277 - Remove old UI for adding trigger schedules
- 680ed024 - Incorporate review
Toggle commit list-
d1e5458c...6068b863 - 57 commits from branch
@grzesiek Could you take another look? I've incorporated your feedback, except for the Frontend stuff, as that is done in a different MR
assigned to @grzesiek
- Resolved by Zeger-Jan van de Weg
@zj after rebasing I'm seeing some errors on the
index
andnew
pages respectively.ArgumentError at /h5bp/html5-boilerplate/pipeline_schedules/new -- First argument in form cannot contain nil or be empty
Screen_Shot_2017-05-03_at_6.36.10_PM
undefined local variable or method `pipeline_schedule' for #<Ci::PipelineSchedule:0x007fb531b7a780> Did you mean? pipelines
Screen_Shot_2017-05-03_at_6.36.00_PM
Both point to the top-level form element:
Is there something you know of that's a
WIP
that's causing this?Edited by username-removed-408230@brycepj Its called
@schedule
now. I've pinged you on that discussion.mentioned in merge request !11032 (merged)
- Resolved by username-removed-408230
- Resolved by username-removed-408230
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
assigned to @zj
I’m looking at PipelineSchedule code and I don’t see a lot of controller tests for everything that is added there. Ex. Do I miss tests for
Take ownership
, is this expected? I don’t see tests for “choosing the schedule”. I don’t see tests for validating inputs and saving them. I don’t see a test for destroying schedule. Also, some permission checks are commented out and not tested too.Related to https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10917.
added 30 commits
- 4e2fea6b - Get frontend mostly working to merge back into main branch.
- 3ed60048 - Move inputNameAttribute to data from props.
- 60a74107 - Remove cruft from form.
- 2995854e - Change intro-message to callout.
- 260fad08 - Clean up timezone dropdown.
- e3d9b2a7 - Fix undefined cronInputName refs.
- 711c2342 - Singularize pipeline_form refs.
- 0c4666f9 - Get params exposed to the view.
- 42c0f361 - Use glDropdown for target branch selector.
- d5276629 - Fix up formatOffset method.
- 7278c8dd - Fix redirect on update.
- 2ff18c7e - Style pipeline schedules table.
- 9a117335 - Uncomment permissions check for destroying schedule.
- 9f40d609 - Move timezone data construction to a helper.
- d939414d - Add specs for pipeline schedules table.
- 18e51ce2 - Fix NaNs in timezone dropdown and capitalization.
- 6844de8a - Fix styling on pipeline schedules user callout.
- a10654ff - Commit in progress feature spec.
- d625ce3a - Fix styles of interval pattern input.
- 35036565 - Remove cookie test flag.
- f93a321f - Update field errors on model change.
- ab773ddc - Add validation for dropdowns.
- f8f1bd75 - Assign dropdowns per eslint.
- 8a4e10ee - Clean up form bundle.
- 36b6c3c5 - Fix delete button permissions.
- 4c16af8e - Finish stubbing integration test.
- 45f72c62 - Spec and bug fixes, per ZJ.
- 529ec72c - Confirm pipeline cancel.
- 349e1425 - Use getElementById for validation selection.
- c090e261 - Improve button styles.
Toggle commit list- Resolved by username-removed-408230
@brycepj Timezone selection doesn't work, seeing a few JS error there, which your own tests actually caught? Whats up there?
added 742 commits
-
a92e5454...56fb7823 - 694 commits from branch
master
- 962b8fea - Basic controller and views for pipeline schedules
- 56e651a9 - First iteration frontend for PipelineSchedules
- 512614e7 - Remove unneeded code, and add test
- a9a4f2d5 - Add Pipeline Schedules table
- 75fe2d59 - Add pipeline_schedule_id to ci_pipelines
- 8024063a - Migrate data from trigger schedules to pipeline schedules
- c9a50793 - Drop ci_trigger_schedules table
- 52ee3230 - Rewrite backend to handle the PipelineSchedule model
- 478ca1b7 - Add documentation on Pipeline Schedules
- a897deb4 - Add pipeline schedules' abilities
- 2360cc17 - Fix Import Export tests, reintroduce triggers factory
- 8464aff2 - Remove old UI for adding trigger schedules
- 81d7c944 - Incorporate review
- 59b2ea71 - Get frontend mostly working to merge back into main branch.
- a607738a - Move inputNameAttribute to data from props.
- 860c1157 - Remove cruft from form.
- 556afd61 - Change intro-message to callout.
- f760f4bc - Clean up timezone dropdown.
- 9fa28779 - Fix undefined cronInputName refs.
- 8b40eccd - Singularize pipeline_form refs.
- 273edba5 - Get params exposed to the view.
- 61ab420b - Use glDropdown for target branch selector.
- 82838e66 - Fix up formatOffset method.
- 41f90018 - Fix redirect on update.
- 78f65eed - Style pipeline schedules table.
- ef9370c8 - Uncomment permissions check for destroying schedule.
- 054e5c40 - Move timezone data construction to a helper.
- 5c1beb53 - Add specs for pipeline schedules table.
- 14d16c95 - Fix NaNs in timezone dropdown and capitalization.
- 9ddb6c40 - Fix styling on pipeline schedules user callout.
- f2950266 - Commit in progress feature spec.
- 8851df53 - Fix styles of interval pattern input.
- cd7e3b29 - Remove cookie test flag.
- a6a36981 - Update field errors on model change.
- e543995a - Add validation for dropdowns.
- 96b1bf39 - Assign dropdowns per eslint.
- 907d6e2d - Clean up form bundle.
- 6d1d9ae3 - Fix delete button permissions.
- fbdd8fd0 - Finish stubbing integration test.
- cdefb0ec - Spec and bug fixes, per ZJ.
- 211fcb59 - Confirm pipeline cancel.
- f6974dad - Use getElementById for validation selection.
- 550f3d78 - Improve button styles.
- dde464bb - Fix comment on updateFormValidityState.
- c551664b - Add index to ci_pipelines.pipeline_schedule_id
- 6838cad4 - Extract foreigh key adding to own migration
- b95def15 - Clean diff for db/schema.rb
- f29bacaf - Rewrite integration tests for pipeline schedules
Toggle commit list-
a92e5454...56fb7823 - 694 commits from branch
- Resolved by Kamil Trzcińśki
assigned to @brycepj
- Resolved by Kamil Trzcińśki
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Kamil Trzcińśki
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
- Resolved by Zeger-Jan van de Weg
added 2 commits
@brycepj The same for selecting a target branch. Were you and @jschatz1 aware of these errors?
@zj Looks like breaking changes were made to the
glDropdown
API 2 days ago, so when you rebased against master, both of our instantiations of it (target branch and timezones) broke.Edited by username-removed-408230added 1 commit
- 9368b0d2 - Fix dropdowns after glDropdown breaking changes.
@zj This feature spec failure is confusing. It's looking for
'pipeline schedule'
and not finding it. Yet in the screenshot, the text is clearly present:There are also hundreds of
karma
failures that have nothing to do with ours. I retried and they stuck around. I'm assuming if we rebase, it will be fixed.Edited by username-removed-408230added 1 commit
- e6a2bdf8 - Ensure intervalPatternMount before setting initialCronInterval.
added 116 commits
-
a6836c6d...6ad3814e - 56 commits from branch
master
- dbb43360 - Basic controller and views for pipeline schedules
- 7b3e065d - First iteration frontend for PipelineSchedules
- b151fe35 - Remove unneeded code, and add test
- 2cd2bdfd - Add Pipeline Schedules table
- 98029bdf - Add pipeline_schedule_id to ci_pipelines
- 3ca9a44c - Migrate data from trigger schedules to pipeline schedules
- c2b43853 - Drop ci_trigger_schedules table
- 4e60c7d2 - Rewrite backend to handle the PipelineSchedule model
- f77775ad - Add documentation on Pipeline Schedules
- db3443d7 - Add pipeline schedules' abilities
- cdebcc0b - Fix Import Export tests, reintroduce triggers factory
- e8ce7abc - Remove old UI for adding trigger schedules
- 1ef0f6fa - Incorporate review
- bd4baecf - Get frontend mostly working to merge back into main branch.
- 7e28d8be - Move inputNameAttribute to data from props.
- e8004d26 - Remove cruft from form.
- bfaf2087 - Change intro-message to callout.
- e23e5bb3 - Clean up timezone dropdown.
- 0f1a94c4 - Fix undefined cronInputName refs.
- 226a903d - Singularize pipeline_form refs.
- c120fc76 - Get params exposed to the view.
- cb6d1de9 - Use glDropdown for target branch selector.
- 31290377 - Fix up formatOffset method.
- 2812ed70 - Fix redirect on update.
- 1daf36f8 - Style pipeline schedules table.
- e116702a - Uncomment permissions check for destroying schedule.
- 897e32a1 - Move timezone data construction to a helper.
- 465632ba - Add specs for pipeline schedules table.
- 9064bc31 - Fix NaNs in timezone dropdown and capitalization.
- 54da6742 - Fix styling on pipeline schedules user callout.
- 55a62dee - Commit in progress feature spec.
- deb9b294 - Fix styles of interval pattern input.
- 3c75eb0d - Remove cookie test flag.
- e607d902 - Update field errors on model change.
- c6cbf2d4 - Add validation for dropdowns.
- 8a883978 - Assign dropdowns per eslint.
- 4d3c3602 - Clean up form bundle.
- 29ce518c - Fix delete button permissions.
- baec018c - Finish stubbing integration test.
- d19cc93a - Spec and bug fixes, per ZJ.
- b9fd57a1 - Confirm pipeline cancel.
- c7f63a5f - Use getElementById for validation selection.
- cc9fb5f4 - Improve button styles.
- f20916bf - Fix comment on updateFormValidityState.
- af9e2d0f - Add index to ci_pipelines.pipeline_schedule_id
- c59744fa - Extract foreigh key adding to own migration
- 799fc09b - Clean diff for db/schema.rb
- ae067568 - Rewrite integration tests for pipeline schedules
- a6505988 - Bump the import export version
- 8dfac61a - Fixes test failures on pipeline schedules
- 287c2692 - Add foreign key on pipeline_schedule_id for pipelines
- 9ca4d09b - Shush scss and haml lint.
- d1bed742 - Mock updateFormValidityState in spec.
- a92d473b - Fix dropdowns after glDropdown breaking changes.
- d254e53f - Add screenshots to feature docs.
- 0461701c - Add screenshot with take ownership button.
- a3863f44 - Fix taking ownership screenshot ref.
- 72580b61 - Satisfy rubocop
- bfeea0d3 - Ensure intervalPatternMount before setting initialCronInterval.
- 968c888d - Make glDropdown params consistent.
Toggle commit list-
a6836c6d...6ad3814e - 56 commits from branch
@brycepj That is not content, its a field...
@zj It looks nice. I don't have any other comments, other than me checking all database relations on the manual testing (tomorrow) and you getting tests to be green.
- Edited by Kamil Trzcińśki
@ayufan @jschatz1 already reviewed and approved the frontend in my MR. Since the only changes we've made since have been fixing spec failures and bugs i think we're good to go.
Edited by username-removed-408230- Resolved by Kamil Trzcińśki
added 1 commit
- e7fa794c - Update function refs in interval pattern spec.
added 1 commit
- a9618849 - Use a fixture to force phantom to emit click event.
- Resolved by Kamil Trzcińśki
added Deliverable ~901060 frontend labels
mentioned in issue #31932 (closed)
enabled an automatic merge when the pipeline for a9618849 succeeds
mentioned in commit 66b225d4
mentioned in issue #32032 (closed)
mentioned in issue #34907 (closed)
mentioned in merge request !12757 (merged)