forge-agnostic git workflow for Neovim
  • Lua 99.7%
  • Shell 0.2%
Find a file
Barrett Ruth e8ee51f003
All checks were successful
quality / Format (push) Successful in 9s
quality / Lint (push) Successful in 11s
quality / Test (push) Successful in 7s
deploy / LuaRocks (push) Successful in 39s
ci: fix deploy job name expression (#577)
## Problem

The consolidated deploy workflow uses one publish job with a dynamic job name. On main pushes, Forgejo rendered the job as `deploy / LuaRocks` instead of `deploy / Nightly`, even though the step-level `github.ref` conditions still selected the correct publish path.

## Solution

Use `github.ref` for the job-name expression, matching the step conditions and the runner-provided compatibility context. This keeps the one-file `deploy.yaml` layout while preserving the expected rendered names.

Validation:

- parsed `.forgejo/workflows/*.yaml` with PyYAML via Nix
- `git diff --check`

Reviewed-on: #577
2026-05-03 19:01:25 +00:00
.forgejo ci: fix deploy job name expression (#577) 2026-05-03 19:01:25 +00:00
doc docs: use vim.pack installs and add Luarocks workflow (#570) 2026-05-03 16:36:01 +00:00
lua/forge fix: avoid duplicate forgejo issue templates 2026-05-02 20:36:00 +00:00
plugin refactor: remove <Plug> mapping surface (#364) 2026-04-20 09:32:22 -05:00
scripts test: speed up async spec waits 2026-05-02 19:13:29 +00:00
spec fix: remove live github templates (#567) 2026-05-02 20:44:23 +00:00
.busted ci: run busted in quality workflow (#69) 2026-04-06 16:26:13 -04:00
.editorconfig feat: initial commit 2026-03-27 16:46:28 -04:00
.gitignore feat: gitignore demo files 2026-03-28 18:38:09 -04:00
.luarc.json feat: initial commit 2026-03-27 16:46:28 -04:00
biome.json chore(format): replace prettier with biome (#404) 2026-04-25 16:00:19 -04:00
flake.lock build(nix): use nixpkgs vimdoc-language-server (#369) 2026-04-20 18:22:00 -04:00
flake.nix chore(format): replace prettier with biome (#404) 2026-04-25 16:00:19 -04:00
forge.nvim-scm-1.rockspec docs: use Forgejo source URLs (#569) 2026-05-03 16:16:51 +00:00
justfile test: speed up async spec waits 2026-05-02 19:13:29 +00:00
LICENSE chore: switch LICENSE to GPLv3 (post-remigrate) 2026-05-01 11:42:46 +00:00
README.md docs: use vim.pack installs and add Luarocks workflow (#570) 2026-05-03 16:36:01 +00:00
selene.toml fix 2026-03-30 17:20:52 -04:00
stylua.toml feat: initial commit 2026-03-27 16:46:28 -04:00
vim.yaml feat: initial commit 2026-03-27 16:46:28 -04:00

forge.nvim

Forge-agnostic git workflow for Neovim

PR, issue, and CI workflows across GitHub, GitLab, and Forgejo/Gitea/Codeberg — without leaving your editor.

Features

  • Work with PRs: list, create, review, open/close, draft, merge and more
  • Issue workflows: list, create, edit, browse, close/reopen
  • CI/CD: list runs, filter by status, inspect summaries, stream logs, etc.

Requirements

Installation

With vim.pack (Neovim 0.12+):

vim.pack.add({
  'https://git.barrettruth.com/barrettruth/forge.nvim',
})

Or via luarocks:

luarocks install forge.nvim

Releases

Stable releases are cut from manual tags named v0.x.y. Pushing one of those tags publishes the tagged version to LuaRocks.

Nightly prereleases are automated snapshots from main. They are published as the rolling prerelease nightly, with the current short commit hash in the release title, and are kept off the stable LuaRocks channel.

Documentation

:help forge.nvim