diff --git a/.woodpecker/publish.yaml b/.woodpecker/publish.yaml
index 6f2152a8..05d7e912 100644
--- a/.woodpecker/publish.yaml
+++ b/.woodpecker/publish.yaml
@@ -38,6 +38,7 @@ steps:
       - <<: *enable_pnpm
       - pnpm install --frozen-lockfile
   build:
+    depends_on: install
     image: *node_image
     environment:
       NODE_ENV: production
@@ -46,7 +47,7 @@ steps:
       - <<: *enable_pnpm
       - pnpm build
   package:
-    group: prepare-release
+    depends_on: build
     image: alpine:latest
     commands:
       - apk update
@@ -54,32 +55,34 @@ steps:
       - mv dist ${CI_REPO_NAME}
       - zip -r ${CI_REPO_NAME}.zip ${CI_REPO_NAME}/*
   changelog:
-    group: prepare-release
+    depends_on: build
     image: *node_image
     commands:
       - <<: *enable_pnpm
       - pnpm changelog
   choose-latest-channel:
-    group: prepare-release
+    depends_on: build
     image: alpine:latest
     commands:
       - echo latest > .RELEASE_CHANNEL
     when:
       <<: *is_latest_channel
   choose-beta-channel:
-    group: prepare-release
+    depends_on: build
     image: alpine:latest
     commands:
       - echo beta > .RELEASE_CHANNEL
     when:
       <<: *is_beta_channel
   release-latest:
+    depends_on: choose-latest-channel
     image: *release_plugin
     settings:
       <<: *release_base_settings
     when:
       <<: *is_latest_channel
   release-beta:
+    depends_on: choose-beta-channel
     image: *release_plugin
     settings:
       <<: *release_base_settings
@@ -87,7 +90,7 @@ steps:
     when:
       <<: *is_beta_channel
   publish-manifest:
-    group: publish
+    depends_on: [release-latest, release-beta]
     image: alpine:latest
     commands:
       - apk update
@@ -98,7 +101,7 @@ steps:
     secrets:
       - forge_token
   publish-to-foundry-admin:
-    group: publish
+    depends_on: [release-latest, release-beta]
     image: johannesloher/foundry-publish:v4.0.0
     commands:
       - export FVTT_MANIFEST_PATH=${CI_REPO_NAME}/system.json