diff --git a/.forgejo/workflows/main.yaml b/.forgejo/workflows/main.yaml
index 1c36362..d25b505 100644
--- a/.forgejo/workflows/main.yaml
+++ b/.forgejo/workflows/main.yaml
@@ -1,4 +1,6 @@
 ---
+name: 'main'
+
 on:
   push:
   workflow_dispatch:
@@ -17,16 +19,13 @@ jobs:
       - name: 'check'
         run: |
           make check no-dirty
-  build:
+  main:
     if: "${{ startsWith(github.ref, 'refs/tags/') }}"
     needs:
       - 'test'
     runs-on: 'self-hosted'
     steps:
       - uses: 'actions/checkout@v4'
-      - uses: 'actions/setup-go@v5'
-        with:
-          go-version-file: 'go.mod'
       - name: 'build'
         run: |
           printf '%s' "$GIT_CRYPT_SECRET" | base64 -d > secret
@@ -34,40 +33,8 @@ jobs:
           make build
         env:
           GIT_CRYPT_SECRET: '${{ secrets.GIT_CRYPT }}'
-      #- uses: 'actions/upload-artifact@v4'
-      - uses: 'forgejo/upload-artifact@v4'
-        with:
-          if-no-files-found: 'error'
-          name: 'ods'
-          path: 'ods'
-  deploy:
-    needs:
-      - 'build'
-    runs-on: 'self-hosted'
-    steps:
-      #- uses: 'actions/download-artifact@v4'
-      - uses: 'forgejo/download-artifact@v4'
-        with:
-          name: 'ods'
-      - run: |
+      - name: 'deploy'
+        run: |
           make deploy
         env:
           SSH_PRIVATE_KEY: '${{ secrets.SSH_PRIVATE_KEY }}'
-  publish:
-    needs:
-      - 'build'
-    runs-on: 'self-hosted'
-    steps:
-      #- uses: 'actions/download-artifact@v4'
-      - uses: 'forgejo/download-artifact@v4'
-        with:
-          name: 'ods'
-      - uses: 'actions/forgejo-release@v2'
-        with:
-          direction: 'upload'
-          tag: '${{ github.ref_name }}'
-          sha: '${{ github.sha }}'
-          release-dir: './'
-          token: '${{ env.GITHUB_TOKEN }}'
-          hide-archive-link: true
-          prerelease: true