Skip to content

Commit

Permalink
feat: ci & ut (ruifm#67)
Browse files Browse the repository at this point in the history
* Create ci.yml

* Update ci.yml

* Create logger_spec.lua

* feat: UT

* feat: stylua

* doc: develop

* ci: format

* ci: format

* ci: format

* ci: format

* ci: format

* ci: format

* test

* test

* remove

* template: PR

* test

* link: typecheck

* fix: require minimal version v0.7

* doc: badge
  • Loading branch information
linrongbin16 committed Oct 8, 2023
1 parent 3cc5ff8 commit 730cdff
Show file tree
Hide file tree
Showing 17 changed files with 1,005 additions and 786 deletions.
17 changes: 17 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Thanks to your contribute, while please finish below tasks:

# Regression Test

## Platforms

- [ ] windows
- [ ] macOS
- [ ] linux

## Tasks

- [ ] Use `<leader>gl` to copy git link.
- [ ] Use `<leader>gL` to open git link in browser.
- [ ] Copy git link in a symlink directory of git repo.
- [ ] Copy git link in an un-pushed git branch, and receive an expected error.
- [ ] Copy git link in a pushed git branch but edited file, and receive a warning says the git link could be wrong.
88 changes: 88 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@

---
name: CI
on:
pull_request: ~
push:
branches:
- master
jobs:
typecheck:
name: Type check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: LuaLs Typecheck
uses: stevearc/nvim-typecheck-action@v1
with:
path: lua
level: Information
configpath: ".luarc.json"
neodev-version: stable
luacheck:
name: Lua check
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Luacheck linter
uses: lunarmodules/luacheck@v1
with:
args: lua --config .luacheckrc
unit_test:
name: Unit test
strategy:
matrix:
nvim_version: [stable, nightly, v0.7.0]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup neovim
uses: rhysd/action-setup-vim@v1
id: vim
with:
neovim: true
version: ${{ matrix.nvim_version }}
- name: Install luajit
uses: leafo/gh-actions-lua@v10
with:
luaVersion: "luajit-2.1.0-beta3"
- name: Install luarocks
uses: leafo/gh-actions-luarocks@v4
- name: Run test cases
shell: bash
run: |
luarocks install luacheck
luarocks install luacov
luarocks install cluacov
luarocks install vusted
vusted --coverage --shuffle ./test
- name: Generate coverage reports
shell: bash
run: |
echo "ls ."
ls -l .
echo "run luacov"
luacov
echo "ls ."
ls -l .
echo "cat ./luacov.report.out"
cat ./luacov.report.out
- name: Upload coverage reports to Codecov
uses: codecov/codecov-action@v3
with:
files: luacov.report.out
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
code_format:
name: Code format
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: JohnnyMorganz/stylua-action@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --config-path .stylua.toml --color always --check lua
4 changes: 4 additions & 0 deletions .luacheckrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
globals = { "vim", "describe", "before_each", "it", "assert" }
max_line_length = 200
unused = false
unused_args = false
5 changes: 2 additions & 3 deletions .luarc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"diagnostics.globals": [
"vim"
]
"diagnostics.globals": ["vim", "describe", "before_each", "it"],
"workspace.checkThirdParty": false
}
5 changes: 5 additions & 0 deletions .stylua.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
column_width = 80
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 4

32 changes: 21 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,11 @@
# gitlinker.nvim

<p align="center">
<a href="https://github.com/neovim/neovim/releases/stable"><img alt="Neovim-v0.5" src="https://img.shields.io/badge/Neovim-v0.5-blueviolet.svg?logo=Neovim&logoColor=green" /></a>
<a href="https://github.com/neovim/neovim/releases/v0.7.0"><img alt="Neovim-v0.7" src="https://img.shields.io/badge/Neovim-v0.7-blueviolet.svg?logo=Neovim&logoColor=green" /></a>
<a href="https://github.com/linrongbin16/gitlinker.nvim/search?l=lua"><img alt="Top Language" src="https://img.shields.io/github/languages/top/linrongbin16/gitlinker.nvim?label=Lua&logo=lua&logoColor=darkblue" /></a>
<a href="https://github.com/linrongbin16/gitlinker.nvim/blob/master/LICENSE"><img alt="License" src="https://img.shields.io/github/license/linrongbin16/gitlinker.nvim?logo=GNU&label=License" /></a>
<!-- <a href="https://github.com/linrongbin16/fzfx.nvim/actions/workflows/ci.yml"><img alt="ci.yml" src="https://img.shields.io/github/actions/workflow/status/linrongbin16/fzfx.nvim/ci.yml?logo=GitHub&label=Luacheck" /></a> -->
<a href="https://github.com/linrongbin16/gitlinker.nvim/actions/workflows/ci.yml"><img alt="ci.yml" src="https://img.shields.io/github/actions/workflow/status/linrongbin16/gitlinker.nvim/ci.yml?logo=GitHub&label=Luacheck" /></a>
<a href="https://app.codecov.io/github/linrongbin16/gitlinker.nvim"><img alt="codecov" src="https://img.shields.io/codecov/c/github/linrongbin16/gitlinker.nvim?logo=codecov&logoColor=magenta&label=Codecov" /></a>
</p>

> A fork of [ruifm's gitlinker](https://github.com/ruifm/gitlinker.nvim), refactored
Expand All @@ -22,7 +23,7 @@ An example of git permalink:
Personally, I use this all the time to easily share code locations with my
co-workers.

- [Break Changes & Features](#break-changes--features)
- [Break Changes & Updates](#break-changes--updates)
- [Lua pattern based rules](#lua-pattern-based-rules)
- [Installation](#installation)
- [packer.nvim](#packernvim)
Expand All @@ -35,7 +36,7 @@ co-workers.
- [Customization](#customization)
- [Configuration](#configuration)

## Break Changes & Features
## Break Changes & Updates

1. Bug fix: you can disable/custom default key mappings.
2. Windows support: you can use it on Windows.
Expand All @@ -61,8 +62,8 @@ PRs are welcomed for other git host websites!

Requirement:

- git
- neovim 0.8
- git.
- neovim &ge; v0.7.

### [packer.nvim](https://github.com/wbthomason/packer.nvim)

Expand Down Expand Up @@ -244,13 +245,22 @@ require('gitlinker').setup({
})
````

## Contribute
## Development

To develop the project and make PR, please setup with:

- [lua_ls](https://github.com/LuaLS/lua-language-server).
- [stylua](https://github.com/JohnnyMorganz/StyLua).
- [luarocks](https://luarocks.org/).
- [luacheck](https://github.com/mpeterv/luacheck).

For developing:
To run unit tests, please install below dependencies:

1. Use [lua-language-server](https://github.com/LuaLS/lua-language-server) for code lint.
2. Use [stylua](https://github.com/JohnnyMorganz/StyLua) for code formatting.
3. Start neovim and run unit test: `lua require('gitlinker.test.test_rules')`
- [vusted](https://github.com/notomo/vusted).

Then test with `vusted ./test`.

## Contribute

Please also open [issue](https://github.com/linrongbin16/lin.nvim/issues)/[PR](https://github.com/linrongbin16/lin.nvim/pulls) for anything about gitlinker.nvim.

Expand Down

0 comments on commit 730cdff

Please sign in to comment.