feat(ci): setup ci workflow and supporting configs
parent
efbfe281aa
commit
0f455fbcab
|
|
@ -0,0 +1,70 @@
|
||||||
|
name: CI
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stylua:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Run Stylua
|
||||||
|
uses: JohnnyMorganz/stylua-action@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
version: latest
|
||||||
|
args: --color always --check .
|
||||||
|
|
||||||
|
selene:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install Selene
|
||||||
|
run: cargo install selene
|
||||||
|
|
||||||
|
- name: Run Selene
|
||||||
|
run: selene --display-style quiet --config ./.selene.toml lua
|
||||||
|
|
||||||
|
codespell:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Install codespell
|
||||||
|
run: pip install codespell
|
||||||
|
|
||||||
|
- name: Use codespell
|
||||||
|
run: make spell
|
||||||
|
|
||||||
|
generate-doc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: panvimdoc
|
||||||
|
uses: kdheepak/panvimdoc@main
|
||||||
|
with:
|
||||||
|
vimdoc: telescope-resession
|
||||||
|
version: "Neovim >= 0.9.0"
|
||||||
|
titledatepattern: "%Y"
|
||||||
|
demojify: true
|
||||||
|
treesitter: true
|
||||||
|
|
||||||
|
- name: Push changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
commit_message: "docs: auto-generate vimdoc"
|
||||||
|
|
||||||
|
release:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [stylua, selene, codespell, generate-doc]
|
||||||
|
if: github.ref == 'refs/heads/main'
|
||||||
|
steps:
|
||||||
|
- uses: googleapis/release-please-action@v4
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
release-type: simple
|
||||||
|
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
base: lua51
|
||||||
|
|
||||||
|
globals:
|
||||||
|
jit:
|
||||||
|
any: true
|
||||||
|
vim:
|
||||||
|
any: true
|
||||||
|
assert:
|
||||||
|
args:
|
||||||
|
- type: bool
|
||||||
|
- type: string
|
||||||
|
required: false
|
||||||
|
after_each:
|
||||||
|
args:
|
||||||
|
- type: function
|
||||||
|
before_each:
|
||||||
|
args:
|
||||||
|
- type: function
|
||||||
|
describe:
|
||||||
|
args:
|
||||||
|
- type: string
|
||||||
|
- type: function
|
||||||
|
it:
|
||||||
|
args:
|
||||||
|
- type: string
|
||||||
|
- type: function
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
std = ".neovim.std"
|
||||||
|
|
||||||
|
[rules]
|
||||||
|
global_usage = "warn"
|
||||||
|
multiple_statements = "allow"
|
||||||
|
incorrect_standard_library_use = "allow"
|
||||||
|
mixed_table = "allow"
|
||||||
|
unused_variable = "warn"
|
||||||
|
unescoped_variables = "warn"
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
column_width = 120
|
||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 4
|
||||||
|
quote_style = "AutoPreferDouble"
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
ifeq ($(OS),Windows_NT)
|
||||||
|
GREEN=[00;32m
|
||||||
|
RESTORE=[0m
|
||||||
|
else
|
||||||
|
GREEN="\033[0;32m"
|
||||||
|
RESTORE="\033[0m"
|
||||||
|
endif
|
||||||
|
|
||||||
|
# make the output of the message appear green
|
||||||
|
define style_calls
|
||||||
|
$(eval $@_msg = $(1))
|
||||||
|
echo ${GREEN}${$@_msg}${RESTORE}
|
||||||
|
endef
|
||||||
|
|
||||||
|
lint: style-lint
|
||||||
|
@$(call style_calls,"Running selene")
|
||||||
|
@selene --display-style quiet --config ./.selene.toml lua
|
||||||
|
@$(call style_calls,"Done!")
|
||||||
|
|
||||||
|
.PHONY: lint
|
||||||
|
|
||||||
|
style-lint:
|
||||||
|
@$(call style_calls,"Running stylua check")
|
||||||
|
@stylua --color always -f ./.stylua.toml --check lua
|
||||||
|
@$(call style_calls,"Done!")
|
||||||
|
|
||||||
|
.PHONY: style-lint
|
||||||
|
|
||||||
|
format:
|
||||||
|
@$(call style_calls,"Running stylua format")
|
||||||
|
@stylua --color always -f ./.stylua.toml lua
|
||||||
|
@$(call style_calls,"Done!")
|
||||||
|
|
||||||
|
.PHONY: format
|
||||||
|
|
||||||
|
spell:
|
||||||
|
@$(call style_calls,"Running codespell check")
|
||||||
|
@codespell --quiet-level=2 --check-hidden --skip=./.git,./CHANGELOG.md
|
||||||
|
@$(call style_calls,"Done!")
|
||||||
|
|
||||||
|
.PHONY: spell
|
||||||
|
|
||||||
|
spell-write:
|
||||||
|
@$(call style_calls,"Running codespell write")
|
||||||
|
@codespell --quiet-level=2 --check-hidden --skip=./.git,./CHANGELOG.md --write-changes
|
||||||
|
@$(call style_calls,"Done!")
|
||||||
|
|
||||||
|
.PHONY: spell-write
|
||||||
Loading…
Reference in New Issue