diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml
index d5e5440..878375c 100644
--- a/.github/workflows/build-and-release.yml
+++ b/.github/workflows/build-and-release.yml
@@ -1,6 +1,8 @@
 name: Build and Release
 on:
   push:
+    branches:
+      - main
     tags:
       - "v*.*.*"
 
@@ -566,6 +568,7 @@ jobs:
     name: Prepare & create release
     runs-on: ubuntu-latest
     needs: [build_main, read_metadata, build_linux_arm64]
+    if: startsWith(github.ref, 'refs/tags/v')
     steps:
       - name: Create artifact directory
         run: mkdir -p $GITHUB_WORKSPACE/artifacts
@@ -723,6 +726,7 @@ jobs:
       name: Publish release
       runs-on: ubuntu-latest
       needs: [read_metadata, create_release]
+      if: startsWith(github.ref, 'refs/tags/v')
       
       permissions:
         contents: write