chore: Reduce nightly release spam (#580)
This commit is contained in:
committed by
GitHub
parent
467aff2f60
commit
4e8f447811
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user