Skip to content

Merge pull request #38 from venkatarenduchintala/chore/add-stow-local… #79

Merge pull request #38 from venkatarenduchintala/chore/add-stow-local…

Merge pull request #38 from venkatarenduchintala/chore/add-stow-local… #79

Workflow file for this run

name: Validate Neovim Config
on:
push:
# Documentation branches only ever carry docs changes — never build them.
branches-ignore:
- "docs/**"
pull_request:
branches: [main]
jobs:
validate:
name: Build & validate Neovim
runs-on: ubuntu-latest
# Do not run for documentation-only work:
# - PRs opened from a docs/* branch (github.head_ref)
# - pushes whose tip commit is a docs:/chore: (or scoped) commit
# On pull_request events head_commit is null, so only the head_ref check
# applies there; on push events head_ref is empty, so only the message
# checks apply. Pushes to docs/** never reach here (filtered by on.push).
if: >-
!startsWith(github.head_ref, 'docs/') &&
!startsWith(github.event.head_commit.message, 'docs:') &&
!startsWith(github.event.head_commit.message, 'docs(') &&
!startsWith(github.event.head_commit.message, 'chore:') &&
!startsWith(github.event.head_commit.message, 'chore(')
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build devcontainer image
uses: docker/build-push-action@v6
with:
context: .
file: .devcontainer/Dockerfile
tags: nvim-config:ci
load: true
cache-from: type=gha
cache-to: type=gha,mode=max
- name: Check Neovim version
run: docker run --rm nvim-config:ci nvim --version
- name: Run all Neovim validations
run: |
docker run --rm \
--network=host \
-e CI=true \
-v "${{ github.workspace }}:/home/dev/.config/nvim:ro" \
nvim-config:ci \
bash /home/dev/.config/nvim/test/ci_validate.sh
timeout-minutes: 30