diff --git a/.github/workflows/chart-sync.yaml b/.github/workflows/chart-sync.yaml
index b353974e41..ca37ad70b0 100644
--- a/.github/workflows/chart-sync.yaml
+++ b/.github/workflows/chart-sync.yaml
@@ -2,15 +2,16 @@ name: chart-sync
 
 # Controls when the workflow will run
 on:
-  # Triggers the workflow on publishing new release on main branch and in charts directory only
-  push:
-    branches:    
-      - 'main'
-    paths:
-      - 'charts/**'
-  # Allows you to run this workflow manually from the Actions tab
   workflow_dispatch:
-
+    inputs:
+      RELEASE_TYPE:
+        description: 'Release Type'
+        required: true
+        default: 'minor'
+      NEXT_RELEASE_VERSION:
+        description: 'Release TAG'
+        required: true
+        default: 'v1.4.0'
 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
 jobs:
   # This workflow contains a single job called "build"
@@ -34,3 +35,5 @@ jobs:
         git-source-dir: ${{ secrets.GIT_SOURCE_DIR }}
         working-dir: ${{ secrets.WORKING_DIR }}
         RELEASE_BRANCH: "main"
+        RELEASE_TYPE: ${{ github.event.inputs.RELEASE_TYPE }}
+        RELEASE_TAG: ${{ github.event.inputs.NEXT_RELEASE_VERSION }}
diff --git a/.github/workflows/create-release.yml b/.github/workflows/create-release.yml
index 14d1400a59..002b949cd8 100644
--- a/.github/workflows/create-release.yml
+++ b/.github/workflows/create-release.yml
@@ -1,18 +1,100 @@
-# This workflow is used to create a github release from last tag pushed
+# This workflow is used to create tag and Release for OSS
 
 name: Create Release
 
 # Controls when the action will run. Workflow runs when manually triggered using the UI
 # or on push in charts directory of main branch.
 on:
-
   workflow_dispatch:
+    inputs:
+      RELEASE_TYPE:
+        description: 'Release type (major/minor/patch/beta)'
+        required: true
+        type: choice
+        options:
+          - major
+          - minor
+          - patch
+          - beta
 
 # A workflow run is made up of one or more jobs that can run sequentially or in parallel
 jobs:
-  # This workflow contains a single job called "create-release"
+
+  create-release-tag:
+    runs-on: ubuntu-latest
+    container:
+      image: alpine:latest
+
+    env:
+      GITHUB_TOKENS: ${{ secrets.GH_SYSTEMSDT_TOKEN }}
+      GIT_CONFIG_EMAIL: ${{ secrets.GH_SYSTEMSDT_EMAIL }}
+      GIT_CONFIG_NAME: ${{ secrets.GH_SYSTEMSDT_USERNAME }}
+      GIT_USERNAME: ${{ secrets.GH_SYSTEMSDT_USERNAME }}
+      GIT_REPO: ${{ github.repository }}
+      RELEASE_TYPE: ${{ inputs.RELEASE_TYPE }}
+      REPO: https://github.com/akshatsinha007/devtron
+      RELEASE_BRANCH: "main"
+
+    steps:
+      - name: Install dependencies
+        run: |
+          apk update && apk add --no-cache git github-cli
+
+      - name: Configure Git
+        run: |
+          echo $GITHUB_TOKENS > tokens.txt
+          gh auth login --with-token < tokens.txt
+          git config --global user.email "$GIT_CONFIG_EMAIL"
+          git config --global user.name "$GIT_CONFIG_NAME"
+
+      - name: Clone repository and create tag
+        run: |
+          mkdir preci && cd preci
+          gh repo clone "$REPO"
+          cd $(basename "$REPO")
+          git checkout $RELEASE_BRANCH
+          git pull origin $RELEASE_BRANCH
+          NEXT_RELEASE_VERSION=v$(curl -s https://raw.githubusercontent.com/devtron-labs/charts/refs/heads/main/charts/devtron/Chart.yaml | grep 'appVersion' | awk '{print $2}')
+          # Create and push tag
+          git tag $NEXT_RELEASE_VERSION
+          git push -f https://$GIT_USERNAME:$GITHUB_TOKENS@github.com/$GIT_REPO $NEXT_RELEASE_VERSION
+
+      - name: Update release notes
+        run: |
+          cd preci/$(basename "$REPO")
+          
+          if [[ "$RELEASE_TYPE" == "beta" ]]; then
+            # For beta releases, just commit and push all changes
+            git add .
+            git commit -m "Updated release-notes files"
+            git push -f https://$GIT_USERNAME:$GITHUB_TOKENS@github.com/$GIT_REPO --all
+          else
+            # For major/minor/patch releases, perform full release notes update
+            echo -e "## $NEXT_RELEASE_VERSION\n" > tmp
+            if [ -f beta-releasenotes.md ]; then
+              cat beta-releasenotes.md >> tmp
+              echo -e "\n" >> tmp
+            fi
+            if [ -f releasenotes.md ]; then
+              cat releasenotes.md >> tmp
+            fi
+            mv tmp releasenotes.md
+            
+            # Remove beta release notes
+            rm -f beta-releasenotes.md
+            
+            # Create changelog file
+            mkdir -p CHANGELOG
+            cat releasenotes.md > CHANGELOG/release-notes-${NEXT_RELEASE_VERSION}.md
+            
+            # Commit and push changes
+            git add .
+            git commit -m "Updated release-notes files"
+            git push -f https://$GIT_USERNAME:$GITHUB_TOKENS@github.com/$GIT_REPO $RELEASE_BRANCH
+          fi
+  
   create-release:
-    # The type of runner that the job will run on
+    needs: create-release-tag
     runs-on: ubuntu-latest
 
     # Steps represent a sequence of tasks that will be executed as part of the job
@@ -20,14 +102,14 @@ jobs:
     # Runs series of commands to create a release
     - name: create-release
       run: |
-        RELEASE_FILE_CONTENTS=$(curl -L -s  "https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/${RELEASE_BRANCH}/manifests/release.txt" )
-        RELEASE_TYPE=$(echo $RELEASE_FILE_CONTENTS | awk '{print $1}')
         FILE_NAME=${FILE_NAME:=releasenotes.md}
         echo $RELEASE_TYPE
         echo $GITHUB_REPOSITORY
+        echo $RELEASE_BRANCH
+
         gh repo clone $GITHUB_REPOSITORY
         cd devtron
-        if [[ "$RELEASE_TYPE" == "stable" ]]
+        if [[ "$RELEASE_TYPE" == "major" || "$RELEASE_TYPE" == "minor" || "$RELEASE_TYPE" == "patch" ]]
           then
             tag=$(git tag --sort=committerdate | tail -1)
             echo $tag
@@ -39,11 +121,9 @@ jobs:
             git config --global user.name "$GIT_CONFIG_NAME"
             rm -f $FILE_NAME
             touch $FILE_NAME
-            echo "## Bugs" > beta-releasenotes.md
             echo "## Enhancements" >> beta-releasenotes.md
-            echo "## Documentation" >> beta-releasenotes.md
+            echo "## Bugs" > beta-releasenotes.md
             echo "## Others" >> beta-releasenotes.md
-            echo "beta -1 $tag" > manifests/release.txt
             git add .
             git commit -am "Updated release-notes files"
             git push -f https://${GIT_CONFIG_NAME}:${GH_TOKEN}@github.com/${GITHUB_REPOSITORY} release-bot
@@ -52,9 +132,8 @@ jobs:
             git checkout -b release-bot
             git config --global user.email "$GIT_CONFIG_EMAIL"
             git config --global user.name "$GIT_CONFIG_NAME"
-            echo "## Bugs" > beta-releasenotes.md
             echo "## Enhancements" >> beta-releasenotes.md
-            echo "## Documentation" >> beta-releasenotes.md
+            echo "## Bugs" > beta-releasenotes.md
             echo "## Others" >> beta-releasenotes.md
             git add .
             git commit -am "Created release-notes files"
@@ -62,16 +141,15 @@ jobs:
             echo "Not creating release due to beta"
         fi
       env:
+        RELEASE_BRANCH: "main"
         GH_TOKEN: ${{ secrets.GH_SYSTEMSDT_TOKEN }}
-        RELEASE_BRANCH: ${{ secrets.RELEASE_BRANCH }}
         GIT_CONFIG_NAME: ${{ vars.GH_SYSTEMSDT_USERNAME }}
         GIT_CONFIG_EMAIL: ${{ secrets.GH_SYSTEMSDT_EMAIL }}
+        RELEASE_TYPE: ${{ github.event.inputs.RELEASE_TYPE }}
     # Send notification on discord
     - name: discord-notify
       run: |
-        RELEASE_FILE_CONTENTS=$(curl -L -s  "https://raw.githubusercontent.com/${GITHUB_REPOSITORY}/${RELEASE_BRANCH}/manifests/release.txt" )
-        RELEASE_TYPE=$(echo $RELEASE_FILE_CONTENTS | awk '{print $1}')
-        if [[ "$RELEASE_TYPE" == "stable" ]]
+        if [[ "$RELEASE_TYPE" == "major" || "$RELEASE_TYPE" == "minor" || "$RELEASE_TYPE" == "patch" ]]
         then
         sudo apt install python3 python3-pip -y
         pip install discord-webhook
@@ -85,4 +163,4 @@ jobs:
         echo "Not sending notification due to beta"
         fi
       env:
-        RELEASE_BRANCH: ${{ secrets.RELEASE_BRANCH }}
+        RELEASE_TYPE: ${{ github.event.inputs.RELEASE_TYPE }}