Skip to content

Conversation

@Joibel
Copy link
Member

@Joibel Joibel commented Feb 13, 2025

Motivation

As part of 3.6 we deprecated 4 features:

  • podPriority doesn't work any modern kubernetes and has been deprecated for a while
  • schedule is replaced by schedules in cron workflows - this is a trivial update to make to the yaml
  • mutex and semaphore are replaced by the pluralised version - this is a trivial update to make to the yaml

Removing legacy code reduces maintainer burden and the chance for errors.

Modifications

Removed the features mentioned.
Removed podPriority tests.
Updated a message about use of schedule and schedules at the same time, and fixed the test. Code needed moving slightly to make a test case pass as the validator only returns one error.
Otherwise Updated all tests which used these features to use the new version.
/util/deprecations is unused at the moment, so the tests are a bit meaningless. I propose to deprecate onExit using this mechanism, but in a separate PR.

Verification

Relying on updated tests.

Ran the UI and checked the Cron Workflows list view and editor.

Documentation

Documentation for this is mostly auto-generated, but has been updated where necessary.

@Joibel Joibel changed the title chore (deprecation): remove 3.6 deprecated features for 3.7 feat(deprecation): remove 3.6 deprecated features for 3.7 Feb 13, 2025
@Joibel Joibel force-pushed the deprecate-36 branch 4 times, most recently from e25537a to f191ec0 Compare February 13, 2025 14:48
@MasonM
Copy link
Member

MasonM commented Feb 23, 2025

Mentioned in the meeting, but the UI changes for the schedule deprecation overlaps with #14197, which handles transparently upgrading schedule to schedules:

// Handle CronWorkflows using the deprecated "schedule" field by automatically
// migrating them to use "schedules".
// Also, gracefully handle invalid CronWorkflows that are missing both
// "schedule" and "schedules".
function normalizeSchedules(cronWorkflow: any): CronWorkflow {
cronWorkflow.spec.schedules ??= [];
// TODO: Delete this once we drop support for "schedule"
if ((cronWorkflow.spec.schedule ?? '') != '') {
cronWorkflow.spec.schedules.push(cronWorkflow.spec.schedule);
delete cronWorkflow.spec.schedule;
}
return cronWorkflow as CronWorkflow;
}

That's now been merged, hence the conflicts.

@Joibel Joibel changed the title feat(deprecation): remove 3.6 deprecated features for 3.7 feat(deprecation): remove 3.6 deprecated features for 4.0 Oct 23, 2025
@Joibel Joibel force-pushed the deprecate-36 branch 10 times, most recently from 67f840d to 0a9fd7a Compare October 24, 2025 08:30
Signed-off-by: Alan Clucas <alan@clucas.org>
@Joibel Joibel marked this pull request as ready for review October 24, 2025 14:29
@Joibel Joibel mentioned this pull request Oct 28, 2025
6 tasks
@Joibel Joibel merged commit 801b82a into argoproj:main Oct 29, 2025
39 checks passed
@Joibel Joibel deleted the deprecate-36 branch October 29, 2025 08:55
guanguxiansheng pushed a commit to guanguxiansheng/argo-workflows that referenced this pull request Dec 15, 2025
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.

3 participants