Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
* @NotAShelf
# Codeowners should be used to distinguish the maintainers of the project
# and not contributors of specific modules to nvf. While adding a new module
# please consider adding yourself to 'meta.maintainers' in the module instead
# of CODEOWNERS here.
* @NotAShelf @horriblename @Soliprem
20 changes: 10 additions & 10 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -246,14 +246,15 @@ Neovim's behaviour with Nix.

### Co-Maintainers

Alongside myself, nvf is developed by those talented folk:
Alongside [myself](https://github.com/notashelf), nvf is developed by those
talented folk. nvf would not be what it is today without their invaluable
contributions.

- [**@horriblename**](https://github.com/horriblename)
([Liberapay](https://liberapay.com/horriblename/))- For actively implementing
planned features and quality of life updates.
- [**@Diniamo**](https://github.com/Diniamo)
([Liberapay](https://en.liberapay.com/diniamo/)) - For actively submitting
pull requests, issues and assistance with maintenance of nvf.
- [**@Soliprem**](https://github.com/soliprem) - For rigorously implementing
missing features and excellent work on new language modules.

Please do remember to extend your thanks (financially or otherwise) if this
project has been helpful to you.
Expand All @@ -270,14 +271,14 @@ heart-felt thanks to
- [**@FlafyDev**](https://github.com/FlafyDev) - For getting Home-Manager module
to work and Nix assistance.
- [**@n3oney**](https://github.com/n3oney) - For making custom keybinds finally
possible, and other module additions.
possible, great ideas and module additions.
- [**@Yavko**](https://github.com/Yavko) - For the amazing **nvf** logo
- [**@FrothyMarrow**](https://github.com/FrothyMarrow) - For seeing mistakes
that I could not.
that I could not and contributing good ideas & code.
- [**@Gerg-l**](https://github.com/gerg-l) 🐸 - For the modern Neovim wrapper,
[mnw], and occasional code improvements.
- [**@Soliprem**](https://github.com/soliprem) - Rigorously implementing missing
features and excellent work on new language modules.
[mnw], and occasional improvements to the codebase.
- [**@Diniamo**](https://github.com/Diniamo) - For actively submitting pull
requests, issues and assistance with co-maintenance of nvf.

and everyone who has submitted issues or pull requests!

Expand All @@ -301,7 +302,6 @@ including:

I am grateful for their previous work and inspiration, and I wholeheartedly
recommend checking their work out.
<br/>

## License

Expand Down
56 changes: 0 additions & 56 deletions .github/workflows/check-docs.yml

This file was deleted.

127 changes: 121 additions & 6 deletions .github/workflows/check.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
name: "Validate flake & check formatting"
name: "Treewide Checks"
permissions: read-all

on:
pull_request:
workflow_dispatch:
push:
branches:
- main
paths-ignore:
- .github/**
- assets/**
- .gitignore

jobs:
nix-flake-check:
name: Validate Flake
name: "Validate flake"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -24,13 +26,126 @@ jobs:
run: nix flake check

format-with-alejandra:
name: Formatting via Alejandra
name: "Check formatting"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Check formatting via Alejandra
run: nix run nixpkgs#alejandra -- -c .

check-typos:
name: "Check source tree for typos"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Check for typos
uses: crate-ci/typos@master
with:
config: .github/typos.toml

- if: ${{ failure() }}
shell: bash
run: |
echo "::error:: Current codebase contains typos that were caught by the CI!"
echo "If those typos were intentional, please add them to the ignored regexes in .github/typos.toml"
echo "[skip ci] label may be added to the PR title if this is a one-time issue and is safe to ignore"
exit 1

flake-docs-check:
name: "Validate documentation builds"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
strategy:
matrix:
package:
- docs
- docs-html
- docs-manpages
- docs-json
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Checkout
uses: actions/checkout@v4

- name: Set default git branch (to reduce log spam)
run: git config --global init.defaultBranch main

- name: Build documentation packages
run: nix build .#${{ matrix.package }} --print-build-logs

- name: Get current date
id: get-date
# output format: 2023-12-22-120000
run: echo "date=$(date +'%Y-%m-%d-%H%M%S')" >> ${GITHUB_OUTPUT}

- name: Upload doc artifacts
uses: actions/upload-artifact@v4
with:
name: "${{ matrix.package }}"
path: result/share/doc/nvf

flake-docs-linkcheck:
name: "Validate hyperlinks in documentation sources"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main

- name: Checkout
uses: actions/checkout@v4

- name: Build linkcheck package
run: nix build .#docs-linkcheck -Lv

check-editorconfig:
name: "Validate Editorconfig conformance"
runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps:
- name: Get list of changed files from PR
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh api \
repos/${{ github.repository }}/pulls/${{github.event.number}}/files --paginate \
| jq '.[] | select(.status != "removed") | .filename' \
> "$HOME/changed_files"

- name: Print list of changed files
run: |
cat "$HOME/changed_files"

- name: Checkout
uses: actions/checkout@v4
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge

- name: Install Nix
uses: DeterminateSystems/nix-installer-action@main

- run: nix run nixpkgs#alejandra -- -c .
- name: Checking EditorConfig
shell: bash
run: |
cat "$HOME/changed_files" | nix-shell -p editorconfig-checker.out \
--run 'xargs -r editorconfig-checker -disable-indentation -exclude flake.lock --verbose'
echo -n "Check status: $?"

- if: ${{ failure() }}
shell: bash
run: |
echo "::error:: Current formatting does not fit convention provided by .editorconfig located in the project root."
echo "Please make sure your editor properly integrates editorconfig, Neovim does so by default."
echo "See https://editorconfig.org/#download on how to integrate Editorconfig to your editor."
exit 1
8 changes: 6 additions & 2 deletions .github/workflows/cleanup.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,13 @@
name: Cleanup
name: Delete Stale Branches
permissions:
contents: write

on:
workflow_dispatch:
schedule:
- cron: "0 4 1 * *" # 4AM on 1st of every month
- cron: "0 4 15 * *" # 4AM on the 15th of every month

jobs:
branches:
name: Cleanup old branches
Expand All @@ -13,7 +17,7 @@ jobs:
uses: actions/checkout@v4

- name: "Delete old branches"
uses: beatlabs/[email protected].10
uses: beatlabs/[email protected].11
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
date: "1 months ago"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs-preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
- "modules/**"
- "docs/**"

# Defining permissions here passes it to all workflows.
# Defining permissions here passes it to all jobs.
# https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token
permissions:
contents: write
Expand All @@ -34,7 +34,7 @@ jobs:
run: git config --global init.defaultBranch main

- name: Build documentation packages
run: nix build .#docs-html --print-build-logs
run: nix build .#docs-html --print-build-logs || exit 1

- name: Deploy to GitHub Pages preview
run: |
Expand Down
46 changes: 0 additions & 46 deletions .github/workflows/editorconfig.yml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/workflows/typos.yml

This file was deleted.

1 change: 1 addition & 0 deletions configuration.nix
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ isMaximal: {
elixir.enable = false;
haskell.enable = false;
ruby.enable = false;
fsharp.enable = false;

tailwind.enable = false;
svelte.enable = false;
Expand Down
Loading
Loading