Skip to content

perf(installer): add ci test for installer #360

perf(installer): add ci test for installer

perf(installer): add ci test for installer #360

Workflow file for this run

name: CI
on:
pull_request:
branches:
- main
push:
branches:
- main
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
jobs:
pr_conventional_commit:
name: PR Conventional Commit
if: ${{ github.ref != 'refs/heads/main' }}
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: ytanikin/PRConventionalCommits@1.1.0
with:
task_types: '["feat","fix","docs","test","ci","refactor","perf","chore","revert","break"]'
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
uses: lunarmodules/luacheck@v1
with:
args: lua --config .luacheckrc
stylua:
name: Stylua
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Stylua
uses: JohnnyMorganz/stylua-action@v3
with:
token: ${{ secrets.GITHUB_TOKEN }}
version: latest
args: --config-path .stylua.toml ./lua
- name: Auto commit
if: ${{ github.ref != 'refs/heads/main' }}
uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: "chore(pr): auto-commit"
ubuntu_installer:
name: Ubuntu Installer
runs-on: ubuntu-latest
steps:
- name: Get branch
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Install lin.nvim
shell: bash
run: |
set -x
echo '${{ steps.extract_branch.outputs.branch }}'
export BRANCH_NAME=${{ steps.extract_branch.outputs.branch }}
sudo sh -c "git clone --single-branch --branch $BRANCH_NAME --depth=1 https://github.com/linrongbin16/lin.nvim ~/.config/nvim && cd ~/.config/nvim && sudo bash -euxo pipefail ./install.sh"
windows_installer:
name: Windows Installer
runs-on: windows-latest
steps:
- name: Get branch
shell: pwsh
run: |
echo "$GITHUB_HEAD_REF" >> $GITHUB_OUTPUT
id: extract_branch
- name: Install lin.nvim
shell: pwsh
run: |
Set-PSDebug -Trace 1
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
git clone --single-branch --branch ${{ steps.extract_branch.outputs.branch }} --depth=1 https://github.com/linrongbin16/lin.nvim $env:LOCALAPPDATA\nvim
cd $env:LOCALAPPDATA\nvim
.\install.ps1
macos_installer:
name: MacOS Installer
runs-on: macos-latest
steps:
- uses: Homebrew/actions/setup-homebrew@master
- name: Get branch
shell: bash
run: echo "branch=${GITHUB_HEAD_REF:-${GITHUB_REF#refs/heads/}}" >> $GITHUB_OUTPUT
id: extract_branch
- name: Install lin.nvim
shell: bash
run: |
set -x
echo '${{ steps.extract_branch.outputs.branch }}'
echo ${{ steps.extract_branch.outputs.branch }}
git clone --single-branch --branch ${{ steps.extract_branch.outputs.branch }} --depth=1 https://github.com/linrongbin16/lin.nvim ~/.config/nvim && cd ~/.config/nvim && bash -euxo pipefail ./install.sh
release:
name: Release
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- typecheck
- luacheck
- stylua
- ubuntu_installer
- windows_installer
- macos_installer
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v3
id: release
with:
release-type: simple
package-name: lin.nvim
- uses: actions/checkout@v4
- uses: rickstaa/action-create-tag@v1
if: ${{ steps.release.outputs.release_created }}
with:
tag: stable
message: "Current stable release: ${{ steps.release.outputs.tag_name }}"
tag_exists_error: false
force_push_tag: true