From 0f6a653a1376b49c36a8bf47cc89d2dd6aa0e9a6 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 4 May 2022 22:41:42 +0200 Subject: [PATCH] dev(ci): use doomemacs/ci commit linter And move repo-specific linter config into .github/ci.el --- .github/ci.el | 35 ++++++++++++++++++++++++++++++ .github/workflows/lint-commits.yml | 5 +++++ .github/workflows/lint.yml | 18 --------------- 3 files changed, 40 insertions(+), 18 deletions(-) create mode 100644 .github/ci.el create mode 100644 .github/workflows/lint-commits.yml delete mode 100644 .github/workflows/lint.yml diff --git a/.github/ci.el b/.github/ci.el new file mode 100644 index 000000000..38449e719 --- /dev/null +++ b/.github/ci.el @@ -0,0 +1,35 @@ +;;; ci.el -*- lexical-binding: t; no-byte-compile: t; -*- +;;; Commentary: +;;; Code: + +;;; Types +(add-to-list 'doom-cli-commit-types 'module) +(add-to-list 'doom-cli-commit-scopeless-types 'module) + + +;;; Scopes +(add-to-list 'doom-cli-commit-scopes "cli") +(add-to-list 'doom-cli-commit-scopes "lib") +(add-to-list 'doom-cli-commit-scopes "docs") +(add-to-list 'doom-cli-commit-scopes #'ci-module-scope) +(add-to-list 'doom-cli-commit-scopes #'ci-docs-scope) + + +;;; Helpers +(cl-defun ci-module-scope (scope (&key type)) + "Only allow :CATEGORY or MODULE scopes if they actually exist." + (seq-find (doom-rpartial + #'doom-glob (if (string-prefix-p ":" scope) + (format "%s" (substring scope 1)) + (format "*/%s" scope))) + doom-modules-dirs)) + +(cl-defun ci-docs-scope (scope (&key type)) + "Allow any filename in docs/* as a scope for docs commits." + (when (eq type 'docs) + (member scope + (cons "install" + (mapcar #'file-name-base + (doom-glob doom-docs-dir "*.org")))))) + +;;; ci.el ends here diff --git a/.github/workflows/lint-commits.yml b/.github/workflows/lint-commits.yml new file mode 100644 index 000000000..3a4a2df0d --- /dev/null +++ b/.github/workflows/lint-commits.yml @@ -0,0 +1,5 @@ +name: Lint commits +on: [push, pull_request] +jobs: + lint-commits: + uses: doomemacs/ci/.github/workflows/lint-commits.yml@legacy diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index db3bb552f..000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,18 +0,0 @@ -name: Commit linter -on: - pull_request: -jobs: - lint-commits: - timeout-minutes: 10 - runs-on: ubuntu-latest - steps: - - uses: styfle/cancel-workflow-action@0.9.1 - with: - access_token: ${{ github.token }} - - uses: purcell/setup-emacs@master - with: - version: 27.2 - - uses: actions/checkout@v2.3.1 - with: - fetch-depth: 0 - - run: bin/doom ci lint-commits ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}