diff --git a/recipes/release/release_builder.expected/basic_linux.json b/recipes/release/release_builder.expected/basic_linux_beta.json
similarity index 91%
copy from recipes/release/release_builder.expected/basic_linux.json
copy to recipes/release/release_builder.expected/basic_linux_beta.json
index 26709ed..531b0da 100644
--- a/recipes/release/release_builder.expected/basic_linux.json
+++ b/recipes/release/release_builder.expected/basic_linux_beta.json
@@ -35,7 +35,6 @@
       "git",
       "fetch",
       "origin",
-      "main",
       "--recurse-submodules",
       "--progress",
       "--tags"
@@ -67,7 +66,7 @@
       "git",
       "checkout",
       "-f",
-      "FETCH_HEAD"
+      "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
     ],
     "cwd": "[START_DIR]/mirrors/engine",
     "infra_step": true,
@@ -266,6 +265,14 @@
       "@@@STEP_LOG_LINE@json.output@        \"release_build\": true@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"recipe\": \"engine/something\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }, @@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"linux packaging one\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"properties\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"$flutter/osx_sdk\": \"{\\\"sdk_version\\\": \\\"14a5294e\\\"}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"recipe\": \"release/something\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"scheduler\": \"release\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
@@ -297,7 +304,7 @@
       }
     },
     "name": "launch builds.schedule",
-    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"proj\"}, \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gerritChanges\": [{\"change\": \"123456\", \"host\": \"flutter-review.googlesource.com\", \"patchset\": \"7\", \"project\": \"mirrors/engine\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/engine\", \"ref\": \"refs/heads/main\"}, \"priority\": 25, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"build\": {\"name\": \"linux one\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}}, \"recipe\": \"engine/something\"}, \"environment\": \"Staging\", \"recipe\": \"engine/something\", \"repository\": \"engine\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"cq_experimental\", \"value\": \"false\"}, {\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
+    "stdin": "{\"requests\": [{\"scheduleBuild\": {\"builder\": {\"bucket\": \"try\", \"builder\": \"Linux Engine Drone\", \"project\": \"proj\"}, \"exe\": {\"cipdVersion\": \"refs/heads/main\"}, \"experimental\": \"NO\", \"experiments\": {\"luci.buildbucket.parent_tracking\": false}, \"fields\": \"builder,createTime,createdBy,critical,endTime,id,infra,input,number,output,startTime,status,updateTime\", \"gerritChanges\": [{\"change\": \"123456\", \"host\": \"flutter-review.googlesource.com\", \"patchset\": \"7\", \"project\": \"mirrors/engine\"}], \"gitilesCommit\": {\"host\": \"flutter.googlesource.com\", \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", \"project\": \"mirrors/engine\", \"ref\": \"refs/heads/beta\"}, \"priority\": 25, \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}, \"build\": {\"name\": \"linux packaging one\", \"properties\": {\"$flutter/osx_sdk\": {\"sdk_version\": \"14a5294e\"}}, \"recipe\": \"release/something\", \"scheduler\": \"release\"}, \"environment\": \"Staging\", \"recipe\": \"release/something\", \"repository\": \"engine\"}, \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", \"swarming\": {\"parentRunId\": \"fake-task-id\"}, \"tags\": [{\"key\": \"cq_experimental\", \"value\": \"false\"}, {\"key\": \"parent_buildbucket_id\", \"value\": \"8945511751514863184\"}, {\"key\": \"user_agent\", \"value\": \"recipe\"}]}}]}",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@json.output@{@@@",
@@ -344,7 +351,7 @@
       "@@@STEP_LOG_LINE@request@          \"host\": \"flutter.googlesource.com\", @@@",
       "@@@STEP_LOG_LINE@request@          \"id\": \"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\", @@@",
       "@@@STEP_LOG_LINE@request@          \"project\": \"mirrors/engine\", @@@",
-      "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/main\"@@@",
+      "@@@STEP_LOG_LINE@request@          \"ref\": \"refs/heads/beta\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"priority\": 25, @@@",
       "@@@STEP_LOG_LINE@request@        \"properties\": {@@@",
@@ -352,16 +359,17 @@
       "@@@STEP_LOG_LINE@request@            \"sdk_version\": \"14a5294e\"@@@",
       "@@@STEP_LOG_LINE@request@          }, @@@",
       "@@@STEP_LOG_LINE@request@          \"build\": {@@@",
-      "@@@STEP_LOG_LINE@request@            \"name\": \"linux one\", @@@",
+      "@@@STEP_LOG_LINE@request@            \"name\": \"linux packaging one\", @@@",
       "@@@STEP_LOG_LINE@request@            \"properties\": {@@@",
       "@@@STEP_LOG_LINE@request@              \"$flutter/osx_sdk\": {@@@",
       "@@@STEP_LOG_LINE@request@                \"sdk_version\": \"14a5294e\"@@@",
       "@@@STEP_LOG_LINE@request@              }@@@",
       "@@@STEP_LOG_LINE@request@            }, @@@",
-      "@@@STEP_LOG_LINE@request@            \"recipe\": \"engine/something\"@@@",
+      "@@@STEP_LOG_LINE@request@            \"recipe\": \"release/something\", @@@",
+      "@@@STEP_LOG_LINE@request@            \"scheduler\": \"release\"@@@",
       "@@@STEP_LOG_LINE@request@          }, @@@",
       "@@@STEP_LOG_LINE@request@          \"environment\": \"Staging\", @@@",
-      "@@@STEP_LOG_LINE@request@          \"recipe\": \"engine/something\", @@@",
+      "@@@STEP_LOG_LINE@request@          \"recipe\": \"release/something\", @@@",
       "@@@STEP_LOG_LINE@request@          \"repository\": \"engine\"@@@",
       "@@@STEP_LOG_LINE@request@        }, @@@",
       "@@@STEP_LOG_LINE@request@        \"requestId\": \"8945511751514863184-00000000-0000-0000-0000-000000001337\", @@@",
@@ -522,7 +530,7 @@
   },
   {
     "cmd": [],
-    "name": "display builds.linux one",
+    "name": "display builds.linux packaging one",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LINK@8945511751514863186@https://cr-buildbucket.appspot.com/build/8945511751514863186@@@"
diff --git a/recipes/release/release_builder.expected/basic_linux.json b/recipes/release/release_builder.expected/basic_linux_main.json
similarity index 96%
rename from recipes/release/release_builder.expected/basic_linux.json
rename to recipes/release/release_builder.expected/basic_linux_main.json
index 26709ed..a0e9c92 100644
--- a/recipes/release/release_builder.expected/basic_linux.json
+++ b/recipes/release/release_builder.expected/basic_linux_main.json
@@ -266,6 +266,14 @@
       "@@@STEP_LOG_LINE@json.output@        \"release_build\": true@@@",
       "@@@STEP_LOG_LINE@json.output@      }, @@@",
       "@@@STEP_LOG_LINE@json.output@      \"recipe\": \"engine/something\"@@@",
+      "@@@STEP_LOG_LINE@json.output@    }, @@@",
+      "@@@STEP_LOG_LINE@json.output@    {@@@",
+      "@@@STEP_LOG_LINE@json.output@      \"name\": \"linux packaging one\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"properties\": {@@@",
+      "@@@STEP_LOG_LINE@json.output@        \"$flutter/osx_sdk\": \"{\\\"sdk_version\\\": \\\"14a5294e\\\"}\"@@@",
+      "@@@STEP_LOG_LINE@json.output@      }, @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"recipe\": \"release/something\", @@@",
+      "@@@STEP_LOG_LINE@json.output@      \"scheduler\": \"release\"@@@",
       "@@@STEP_LOG_LINE@json.output@    }@@@",
       "@@@STEP_LOG_LINE@json.output@  ]@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
diff --git a/recipes/release/release_builder.py b/recipes/release/release_builder.py
index a4dfb55..34b3623 100644
--- a/recipes/release/release_builder.py
+++ b/recipes/release/release_builder.py
@@ -38,6 +38,23 @@
 PROPERTIES = InputProperties
 ENV_PROPERTIES = EnvProperties
 
+RELEASE_CHANNELS = ('refs/heads/beta', 'refs/heads/stable')
+
+
+def ShouldRun(api, git_ref, target):
+  """Validates if a target should run based on platform, channel and repo."""
+  # Postsubmit for engine and flutter repositories.
+  if (target.get('properties', {}).get('release_build', False) and
+      target['name'].lower().startswith(api.platform.name) and
+      (git_ref not in RELEASE_CHANNELS)):
+    return True
+  # Packaging for the flutter repository.
+  if (target.get('scheduler') == 'release' and
+      target["name"].lower().startswith(api.platform.name) and
+      (git_ref in RELEASE_CHANNELS)):
+    return True
+  return False
+
 
 def RunSteps(api, properties, env_properties):
   repository = api.buildbucket.gitiles_commit.project
@@ -60,11 +77,10 @@
   build_results = []
   with api.step.nest('launch builds') as presentation:
     for target in ci_yaml.json.output['targets']:
-      if target.get("properties", {}).get("release_build", False) and (
-          target["name"].lower().startswith(api.platform.name)):
+      if ShouldRun(api, git_ref, target):
         target = api.shard_util_v2.pre_process_properties(target)
         tasks.update(api.shard_util_v2.schedule(
-          [target, ], target["recipe"], presentation))
+          [target, ], target['recipe'], presentation))
   with api.step.nest('collect builds') as presentation:
     build_results = api.shard_util_v2.collect(tasks, presentation)
 
@@ -83,25 +99,41 @@
     status="SUCCESS",
   )
   tasks_dict = {'targets': [
-    {'name': 'linux one', 'recipe': 'engine/something',
-     'properties': {'release_build': True, '$flutter/osx_sdk': '{"sdk_version": "14a5294e"}'}
-    }]
+      {
+          'name': 'linux one',
+          'recipe': 'engine/something',
+          'properties': {
+              'release_build': True,
+              '$flutter/osx_sdk': '{"sdk_version": "14a5294e"}'
+          },
+      },
+      {
+          'name': 'linux packaging one',
+          'recipe': 'release/something',
+          'scheduler': 'release',
+          'properties': {
+              '$flutter/osx_sdk': '{"sdk_version": "14a5294e"}'
+          }
+      }
+    ]
   }
-  yield api.test(
-    'basic_linux',
-    api.platform.name('linux'),
-    api.properties(environment='Staging', repository='engine'),
-    api.buildbucket.try_build(
-      project='proj',
-      builder='try-builder',
-      git_repo='https://flutter.googlesource.com/mirrors/engine',
-      revision='a' * 40,
-      build_number=123,
-    ),
-    api.shard_util_v2.child_build_steps(
-      subbuilds=[try_subbuild1],
-      launch_step="launch builds",
-      collect_step="collect builds",
-    ),
-    api.step_data('read ci yaml.parse', api.json.output(tasks_dict))
+  for git_ref in ['main', 'beta']:
+    yield api.test(
+      'basic_linux_%s' % git_ref,
+      api.platform.name('linux'),
+      api.properties(environment='Staging', repository='engine'),
+      api.buildbucket.try_build(
+        project='proj',
+        builder='try-builder',
+        git_repo='https://flutter.googlesource.com/mirrors/engine',
+        revision='a' * 40,
+        build_number=123,
+        git_ref='refs/heads/%s' % git_ref,
+      ),
+      api.shard_util_v2.child_build_steps(
+        subbuilds=[try_subbuild1],
+        launch_step="launch builds",
+        collect_step="collect builds",
+      ),
+      api.step_data('read ci yaml.parse', api.json.output(tasks_dict))
   )
