Skip to content

Linear pipeline #2 - #23932

Open
Aragas wants to merge 10 commits into
release/v2.6from
linear-pipeline
Open

Linear pipeline #2#23932
Aragas wants to merge 10 commits into
release/v2.6from
linear-pipeline

Conversation

@Aragas

@Aragas Aragas commented Aug 11, 2026

Copy link
Copy Markdown
Member

v2.6.0-beta.1 result - https://github.com/Nexus-Mods/Vortex/actions/runs/31503574184
v2.5.0 result - https://github.com/Nexus-Mods/Vortex/actions/runs/31506423953
v2.5.0-beta.1 result - https://github.com/Nexus-Mods/Vortex/actions/runs/31506437724
v2.5.0-beta.2 result - https://github.com/Nexus-Mods/Vortex/actions/runs/31506451747
I've also run it for v2.5.0* releases, but they will only be partially done. It does work at least

I've had some issues with the run, fixed

@Aragas Aragas self-assigned this Aug 11, 2026
@Aragas
Aragas requested a review from a team as a code owner August 11, 2026 15:04
@Aragas
Aragas marked this pull request as draft August 11, 2026 15:14
@Aragas
Aragas marked this pull request as ready for review August 11, 2026 15:32
Comment on lines +132 to +183
# Human-readable recap on the run's summary page. The issue keys
# mirror the CLI's client-side commit scan; Linear resolves PR
# links server-side on top of these, so the release page in Linear
# is the authoritative list.
{
if [ "$DRY_RUN" = "true" ]; then
echo "## Linear Release — \`$TAG\` (dry run, Linear was not modified)"
else
echo "## Linear Release — \`$TAG\`"
fi
echo
echo "| | |"
echo "| --- | --- |"
echo "| Previous tag (same channel) | ${PREV:-_none_} |"
echo "| Scan base (fork point) | ${BASE:-_CLI default_} |"
echo "| GitHub release notes | $([ -n "$NOTES_FILE" ] && echo attached || echo _none_) |"
echo "| Sync issues | $SYNC_OUTCOME |"
echo "| Mark released | $COMPLETE_OUTCOME |"
if [ -n "$RELEASE_URL" ]; then
echo "| Linear release | $RELEASE_URL |"
fi
echo
} >> "$GITHUB_STEP_SUMMARY"
if [ -z "$BASE" ]; then
exit 0
fi
range="$BASE..refs/tags/$TAG"
keys=$(git log "$range" --format='%s' \
| grep -ioE '\b[a-z]{2,}-[0-9]+\b' | tr 'a-z' 'A-Z' \
| grep -v '^PR-' | sort -uV)
{
echo "### Issue keys detected in commits ($(printf '%s' "$keys" | grep -c . || true))"
echo
for key in $keys; do
printf '[%s](https://linear.app/nexus-mods/issue/%s) ' "$key" "$key"
done
echo
echo
echo "_Candidates from the branch/subject scan — some are branch-name artifacts whose links lead nowhere. Linear ignores keys that don't exist and also attaches issues linked to the pull requests below; the release page in Linear is the authoritative list._"
echo
echo "### Pull requests in range"
echo
git log "$range" --merges --format='%H' | while read -r sha; do
subject=$(git show -s --format='%s' "$sha")
num=$(printf '%s' "$subject" | sed -nE 's/^Merge pull request #([0-9]+).*/\1/p')
if [ -z "$num" ]; then
continue
fi
title=$(git show -s --format='%b' "$sha" | sed -n 1p)
echo "- [#$num]($REPO_URL/pull/$num) ${title:-$subject}"
done
} >> "$GITHUB_STEP_SUMMARY"

@IDCs IDCs Aug 12, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think that once a workflow step goes over 10 LoC - it's time to separate the functionality into a script that can be tested bespoke of the workflow. If anything goes wrong here and the reasoning behind it is not obvious, we would have to do exactly that anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants