Skip to content

Commit 9cc4883

Browse files
authored
feat: update action-gh-release to v3 and improve nightly release handling (#75)
1 parent b7813a9 commit 9cc4883

2 files changed

Lines changed: 30 additions & 14 deletions

File tree

.github/workflows/pre-release.yml

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -101,30 +101,46 @@ jobs:
101101
name: extension-zip
102102
path: dist/target/
103103

104-
- name: Create nightly pre-release tag
104+
- name: Resolve latest stable release
105+
id: stable_release
106+
env:
107+
GH_TOKEN: ${{ github.token }}
105108
run: |
106109
set -euo pipefail
107-
git tag "${{ needs.nightly-state.outputs.tag_name }}" "${{ needs.nightly-state.outputs.head_sha }}"
108-
git push origin "refs/tags/${{ needs.nightly-state.outputs.tag_name }}"
110+
111+
STABLE_TAG="$(gh api "repos/${GITHUB_REPOSITORY}/releases/latest" --jq '.tag_name')"
112+
echo "tag=${STABLE_TAG}" >> "$GITHUB_OUTPUT"
113+
echo "Nightly release notes will start at ${STABLE_TAG}." >> "$GITHUB_STEP_SUMMARY"
109114
110115
- name: Create or update GitHub pre-release
111-
uses: softprops/action-gh-release@v2
116+
uses: softprops/action-gh-release@v3
112117
with:
113118
tag_name: ${{ needs.nightly-state.outputs.tag_name }}
114119
target_commitish: ${{ needs.nightly-state.outputs.head_sha }}
115120
name: ${{ needs.nightly-state.outputs.release_name }}
116121
files: dist/target/aurora-shell@luminusos.github.io.shell-extension.zip
117122
generate_release_notes: true
123+
previous_tag: ${{ steps.stable_release.outputs.tag }}
118124
prerelease: true
119125
make_latest: false
120126
overwrite_files: true
121127

122-
- name: Delete old pre-releases
123-
uses: Nats-ji/delete-old-releases@v1
124-
with:
125-
token: ${{ github.token }}
126-
keep-count: 3
127-
keep-old-minor-releases: true
128-
include-prerelease: true
129-
semver-loose: true
130-
remove-tags: true
128+
- name: Delete superseded nightly releases
129+
env:
130+
GH_TOKEN: ${{ github.token }}
131+
CURRENT_NIGHTLY: ${{ needs.nightly-state.outputs.tag_name }}
132+
run: |
133+
set -euo pipefail
134+
135+
gh release list \
136+
--limit 1000 \
137+
--json tagName,isPrerelease \
138+
--jq '.[] | select(.isPrerelease and (.tagName | test("-nightly[0-9]+$"))) | .tagName' |
139+
while IFS= read -r nightly_tag; do
140+
if [[ "$nightly_tag" == "$CURRENT_NIGHTLY" ]]; then
141+
continue
142+
fi
143+
144+
gh release delete "$nightly_tag" --cleanup-tag --yes
145+
echo "Deleted superseded nightly ${nightly_tag}." >> "$GITHUB_STEP_SUMMARY"
146+
done

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ jobs:
2929
path: dist/target/
3030

3131
- name: Create GitHub Release
32-
uses: softprops/action-gh-release@v2
32+
uses: softprops/action-gh-release@v3
3333
with:
3434
name: ${{ github.ref_name }}
3535
files: dist/target/aurora-shell@luminusos.github.io.shell-extension.zip

0 commit comments

Comments
 (0)