From 6bc2038f035c7ccbe59feaccee3c75bce9c3b358 Mon Sep 17 00:00:00 2001
From: Aleksey Savchuk <a.savchuk@yadro.com>
Date: Mon, 2 Sep 2024 16:12:29 +0300
Subject: [PATCH] [#58] .forgejo: Add forgejo actions

Signed-off-by: Aleksey Savchuk <a.savchuk@yadro.com>
---
 .forgejo/workflows/dco.yaml        | 19 +++++++++++++++++++
 .forgejo/workflows/fmt.yaml        | 15 +++++++++++++++
 .forgejo/workflows/pre-commit.yaml | 18 ++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 .forgejo/workflows/dco.yaml
 create mode 100644 .forgejo/workflows/fmt.yaml
 create mode 100644 .forgejo/workflows/pre-commit.yaml

diff --git a/.forgejo/workflows/dco.yaml b/.forgejo/workflows/dco.yaml
new file mode 100644
index 0000000..74fba6a
--- /dev/null
+++ b/.forgejo/workflows/dco.yaml
@@ -0,0 +1,19 @@
+name: DCO action
+on: [pull_request]
+
+jobs:
+  dco:
+    name: DCO
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Setup Go
+        uses: actions/setup-go@v3
+        with:
+          go-version: '1.22'
+      - name: Run commit format checker
+        uses: https://git.frostfs.info/TrueCloudLab/dco-go@v3
+        with:
+          from: 'origin/${{ github.event.pull_request.base.ref }}'
diff --git a/.forgejo/workflows/fmt.yaml b/.forgejo/workflows/fmt.yaml
new file mode 100644
index 0000000..d56bcf1
--- /dev/null
+++ b/.forgejo/workflows/fmt.yaml
@@ -0,0 +1,15 @@
+name: Formatters
+on: [pull_request]
+
+jobs:
+  fmt:
+    name: Run fmt
+    runs-on: ubuntu-22.04
+    steps:
+      - uses: actions/checkout@v3
+      - name: Install deps
+        run: |
+          apt update
+          apt install -y clang-format
+      - name: Run fmt
+        run: make fmt
diff --git a/.forgejo/workflows/pre-commit.yaml b/.forgejo/workflows/pre-commit.yaml
new file mode 100644
index 0000000..5bf97eb
--- /dev/null
+++ b/.forgejo/workflows/pre-commit.yaml
@@ -0,0 +1,18 @@
+name: Pre-commit hooks
+on: [pull_request]
+
+jobs:
+  pre-commit:
+    name: Pre-commit
+    env:
+      # Skip pre-commit hooks which are executed by other actions.
+      SKIP: make-fmt
+    runs-on: ubuntu-22.04
+    steps:
+      - uses: actions/checkout@v3
+      - name: Install deps
+        run: |
+          apt update
+          apt install -y pre-commit
+      - name: Run pre-commit
+        run: pre-commit run --all-files --hook-stage manual --color=always