Skip to content

Commit e67ea97

Browse files
committed
make 'latest' tag
1 parent 8c34149 commit e67ea97

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

.github/workflows/release_slides.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,3 +50,42 @@ jobs:
5050
tag_name: ${{ github.ref_name }}
5151
draft: false
5252
prerelease: false
53+
54+
- name: Prepare stable 'latest' filename
55+
run: |
56+
cp "lectures/${{ env.SUBJECT }}/slides_${{ env.SUBJECT }}_${{ env.VERSION }}.pdf" \
57+
"lectures/${{ env.SUBJECT }}/slides_${{ env.SUBJECT }}_latest.pdf"
58+
echo "ASSET_LATEST=lectures/${{ env.SUBJECT }}/slides_${{ env.SUBJECT }}_latest.pdf" >> $GITHUB_ENV
59+
60+
- name: Delete old asset from subject 'latest' release (if exists)
61+
uses: actions/github-script@v7
62+
with:
63+
script: |
64+
const tag = `slides_${process.env.SUBJECT}_latest`;
65+
try {
66+
const rel = await github.rest.repos.getReleaseByTag({
67+
owner: context.repo.owner,
68+
repo: context.repo.repo,
69+
tag
70+
});
71+
for (const a of rel.data.assets ?? []) {
72+
if (a.name === `slides_${process.env.SUBJECT}_latest.pdf`) {
73+
await github.rest.repos.deleteReleaseAsset({
74+
owner: context.repo.owner,
75+
repo: context.repo.repo,
76+
asset_id: a.id
77+
});
78+
}
79+
}
80+
} catch (e) {
81+
if (e.status !== 404) throw e; // 404 = ingen 'latest' release än
82+
}
83+
84+
- name: Create/Update subject 'latest' release
85+
uses: softprops/action-gh-release@v2
86+
with:
87+
tag_name: slides_${{ env.SUBJECT }}_latest
88+
name: "Slides (${{ env.SUBJECT }}) latest"
89+
files: ${{ env.ASSET_LATEST }}
90+
draft: false
91+
prerelease: false

0 commit comments

Comments
 (0)