Narrow GitHub branch archives to named repos
ci/woodpecker/pr/plan Pipeline was successful
ci/woodpecker/pr/pre-commit Pipeline was successful

The wildcard heads entries admitted a branch archive from any repository
on GitHub. patterns is the admission allowlist, so only the repos that
need a branch install belong in it.

- Replace the wildcard heads entries with one anchored entry per repo
- Cover the 14 Neovim plugins that publish no tags, zip and tar.gz
- List each repo in both patterns and mutable_patterns
This commit is contained in:
2026-09-11 23:34:12 +10:00
parent b76fddecb9
commit d7542d8fe2
+34 -6
View File
@@ -3,17 +3,45 @@ description: GitHub releases and files
immutable_ttl: 0
mutable_ttl: 7200
mutable_patterns:
- ".*/archive/refs/heads/.*\\.tar\\.gz$"
- ".*/archive/refs/heads/.*\\.zip$"
# Branch archives of tagless Neovim plugins; a branch ref moves, so these
# revalidate on mutable_ttl instead of caching immutably.
- "^HampusHauffman/block\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-buffer/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lsp/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lsp-signature-help/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lua/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-path/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-vsnip/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/vim-vsnip/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^junegunn/gv\\.vim/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^jvirtanen/vim-hcl/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^Mofiqul/dracula\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^numToStr/FTerm\\.nvim/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^qvalentin/helm-ls\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^rafamadriz/friendly-snippets/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "stalwartlabs/webadmin/releases/latest/download/webadmin.zip$"
# iplocate IP databases (Git-LFS; the /raw/ path redirects to the LFS media host).
- "iplocate/ip-address-databases/raw/.*/ip-to-asn/.*"
- "iplocate/ip-address-databases/raw/.*/ip-to-country/.*"
patterns:
# Branch archives: patterns is a strict allowlist checked before
# mutable_patterns, so heads must be listed in both.
- ".*/archive/refs/heads/.*\\.tar\\.gz$"
- ".*/archive/refs/heads/.*\\.zip$"
# Branch archives of Neovim plugins that publish no tags. patterns is a
# strict allowlist checked before mutable_patterns, so each repo must be
# listed in both. Anchored per repo: matching is a substring search, so an
# unanchored entry would also admit evil/<owner>/<repo>/....
- "^HampusHauffman/block\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-buffer/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lsp/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lsp-signature-help/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-nvim-lua/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-path/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/cmp-vsnip/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^hrsh7th/vim-vsnip/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^junegunn/gv\\.vim/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^jvirtanen/vim-hcl/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^Mofiqul/dracula\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^numToStr/FTerm\\.nvim/archive/refs/heads/master\\.(zip|tar\\.gz)$"
- "^qvalentin/helm-ls\\.nvim/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- "^rafamadriz/friendly-snippets/archive/refs/heads/main\\.(zip|tar\\.gz)$"
- ".*/archive/refs/tags/.*.tar.gz$"
- ".*/archive/refs/tags/.*\\.zip$"
- "9p4/jellyfin-plugin-sso/.*/sso-authentication_.*.zip$"