From 3f1620b9cd755e7bdbad974de80a1b47af25568a Mon Sep 17 00:00:00 2001
From: Julien Dessaux <julien.dessaux@adyxax.org>
Date: Thu, 13 Mar 2025 01:26:18 +0100
Subject: [PATCH] chore(tooling): add build and release actions workflow steps

---
 .forgejo/workflows/main.yaml | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/.forgejo/workflows/main.yaml b/.forgejo/workflows/main.yaml
index ca34650..5b4f815 100644
--- a/.forgejo/workflows/main.yaml
+++ b/.forgejo/workflows/main.yaml
@@ -22,3 +22,43 @@ jobs:
           go-version-file: 'go.mod'
       - run: |
           make check tidy no-dirty
+  build:
+    if: "${{ startsWith(github.ref, 'refs/tags/') }}"
+    needs:
+      - 'fmt'
+      - '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
+          git-crypt unlock secret
+          make build
+        env:
+          GIT_CRYPT_SECRET: '${{ secrets.GIT_CRYPT }}'
+      - uses: 'actions/upload-artifact@v3'
+        with:
+          if-no-files-found: 'error'
+          name: 'ods'
+          path: 'ods'
+  publish:
+    needs:
+      - 'build'
+    runs-on: 'self-hosted'
+    steps:
+      - uses: 'actions/download-artifact@v3'
+        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
+          release-notes-assistant: true