90 lines
2.7 KiB
YAML
90 lines
2.7 KiB
YAML
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: Run Selene
|
|
uses: AlejandroSuero/selene-linter-action@v1.0.0
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
args: --display-style=quiet --config .selene.toml .
|
|
version: 0.27.1
|
|
|
|
codespell:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install codespell
|
|
run: pip install codespell
|
|
|
|
- name: Use codespell
|
|
run: codespell --quiet-level=2 --check-hidden --skip=./.git,./CHANGELOG.md
|
|
|
|
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"
|
|
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Install Neovim
|
|
run: |
|
|
mkdir -p /tmp/nvim
|
|
wget -q https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage -O /tmp/nvim/nvim.appimage
|
|
cd /tmp/nvim
|
|
chmod a+x ./nvim.appimage
|
|
./nvim.appimage --appimage-extract
|
|
echo "/tmp/nvim/squashfs-root/usr/bin/" >> $GITHUB_PATH
|
|
|
|
- name: Run Tests
|
|
run: |
|
|
nvim --version
|
|
nvim --headless -u tests/init.lua -c "PlenaryBustedDirectory tests/ {minimal_init = 'tests/init.lua', sequential = true}"
|
|
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
needs: [stylua, selene, codespell, generate-doc, test]
|
|
if: github.ref == 'refs/heads/main'
|
|
steps:
|
|
- uses: googleapis/release-please-action@v4
|
|
with:
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
release-type: simple
|