aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat
-rw-r--r--.github/workflows/legal.yml9+7 −2
-rw-r--r--.gitignore2+2 −0
-rw-r--r--mise.toml13+13 −0
-rwxr-xr-xscripts/check-signoff39+0 −39
4 files changed, 22 insertions, 41 deletions
diff --git a/.github/workflows/legal.yml b/.github/workflows/legal.yml
index 6d3cb53..4c0b2d5 100644
--- a/.github/workflows/legal.yml
+++ b/.github/workflows/legal.yml
@@ -21,8 +21,13 @@ jobs:
with:
fetch-depth: 0
- - name: Check contributor agreement
- run: ./scripts/check-signoff
+ - uses: jdx/mise-action@5228313ee0372e111a38da051671ca30fc5a96db # v3
+ with:
+ version: 2026.7.5
+ experimental: true
+
+ - name: Check contribution sign-off
+ run: mise run signoff
- name: Check repository licensing
uses: fsfe/reuse-action@676e2d560c9a403aa252096d99fcab3e1132b0f5 # v6.0.0
diff --git a/.gitignore b/.gitignore
index 4af8e00..363797d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,6 +3,8 @@
/target
/dist
+mise.local.toml
+mise.*.local.toml
__pycache__
*.qcow2
diff --git a/mise.toml b/mise.toml
new file mode 100644
--- /dev/null
+++ b/mise.toml
@@ -0,0 +1,13 @@
+# SPDX-FileCopyrightText: 2026 Nikolay Govorov
+# SPDX-License-Identifier: Apache-2.0
+
+min_version = "2026.7.5"
+
+[settings]
+experimental = true
+
+[task_config]
+dir = "{{cwd}}"
+includes = [
+ "git::https://github.com/dimidiumlabs/infra.git//tasks?ref=22410a5dae5ff53b54d1666db5c6009229fbaaa5",
+]
diff --git a/scripts/check-signoff b/scripts/check-signoff
deleted file mode 100755
--- a/scripts/check-signoff
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh -eu
-# SPDX-FileCopyrightText: 2026 Nikolay Govorov
-# SPDX-License-Identifier: Apache-2.0
-
-ALLOWLIST='Nikolay Govorov|github-actions\[bot\]'
-
-bad=0
-for sha in $(git log --no-merges --format=%H); do
- author=$(git log -1 --format='%an' "$sha")
- if printf '%s\n' "$author" | grep -qE "^($ALLOWLIST)$"; then
- continue
- fi
-
- email=$(git log -1 --format='%ae' "$sha")
- expected="${author} <${email}>"
- if ! git log -1 --format='%(trailers:key=Signed-off-by,valueonly)' "$sha" | grep -qF "$expected"; then
- echo "Commit $(printf '%.8s' "$sha") by ${expected} is missing a valid Signed-off-by"
- bad=1
- fi
-done
-
-if [ "$bad" -eq 1 ]; then
- echo "All commits must be signed off (git commit -s). See CLA.md"
- exit 1
-fi
-
-# Check that all authors and committers are in .mailmap
-missing=0
-for email in $(git log --no-merges --format='%ae%n%ce' | sort -u); do
- if ! grep -v '^#' .mailmap | grep -qF "<${email}>"; then
- echo "Email <${email}> is not in .mailmap"
- missing=1
- fi
-done
-
-if [ "$missing" -eq 1 ]; then
- echo "All contributors must be listed in .mailmap. See README.md"
- exit 1
-fi