chore: Reduce nightly release spam (#580)

This commit is contained in:
Dmitriy Kovalenko
2026-06-05 22:42:39 -07:00
committed by GitHub
parent 467aff2f60
commit 4e8f447811
4 changed files with 28 additions and 3 deletions
+12
View File
@@ -49,8 +49,20 @@ jobs:
- name: Cleanup intermediate file
run: rm -f .panvimdoc-input.md
# panvimdoc stamps "Last change: <today>" every run, so a daily cron always
# produces a one-line diff. Skip the PR unless a non-date line changed.
- name: Detect real doc changes
id: docdiff
run: |
if git diff --quiet -I 'Last change:' -- doc/fff.nvim.txt; then
echo "changed=false" >> "$GITHUB_OUTPUT"
else
echo "changed=true" >> "$GITHUB_OUTPUT"
fi
- name: Create pull request
id: cpr
if: steps.docdiff.outputs.changed == 'true'
uses: peter-evans/create-pull-request@v7
with:
branch: bot/regenerate-vimdoc
+8 -1
View File
@@ -439,11 +439,18 @@ jobs:
id: version
run: lua scripts/determine-version.lua
# All nightly releases share the same tag and same release in github
- name: Move rolling nightly tag to current commit
if: steps.version.outputs.release_tag == 'nightly'
run: |
git tag -f nightly "${{ github.sha }}"
git push -f origin refs/tags/nightly
- name: Upload Release Assets
uses: softprops/action-gh-release@v2
with:
name: "${{ steps.version.outputs.version }}"
tag_name: "${{ steps.version.outputs.is_release == 'true' && format('v{0}', steps.version.outputs.version) || steps.version.outputs.version }}"
tag_name: "${{ steps.version.outputs.release_tag }}"
token: ${{ github.token }}
files: ./binaries/*
draft: false
+6 -2
View File
@@ -38,7 +38,7 @@ function M.current_release_tag(repo_root)
for tag in raw:gmatch('[^\n]+') do
if tag:match('^v%d') then
stable = tag
elseif tag:match('%-nightly%.') then
elseif tag == 'nightly' or tag:match('%-nightly%.') then
nightly = tag
elseif tag:match('%-dev%.') then
dev = tag
@@ -135,9 +135,13 @@ function M.resolve(repo_root)
end
local version = string.format('%s-%s.%s', next_version, prerelease_label, short_sha)
-- Nightlies publish to a single rolling "nightly" release/tag updated in place,
-- so re-publishing never re-notifies watchers. `version` stays unique per-sha
-- because crates.io/npm reject duplicate versions.
local release_tag = (prerelease_label == 'nightly') and 'nightly' or version
return {
version = version,
release_tag = version,
release_tag = release_tag,
is_release = false,
npm_tag = npm_tag,
}
+2
View File
@@ -14,6 +14,7 @@ if not info then
end
print('version=' .. info.version)
print('release_tag=' .. info.release_tag)
print('npm_tag=' .. info.npm_tag)
print('is_release=' .. tostring(info.is_release))
@@ -23,6 +24,7 @@ if github_output and github_output ~= '' then
local f = io.open(github_output, 'a')
if f then
f:write('version=' .. info.version .. '\n')
f:write('release_tag=' .. info.release_tag .. '\n')
f:write('npm_tag=' .. info.npm_tag .. '\n')
f:write('is_release=' .. tostring(info.is_release) .. '\n')
f:close()