Ensure that we call update whenever we specify an inline epehemral repo. #20
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: { branches: [master] } | |
workflow_dispatch: | |
jobs: | |
build-everything: | |
uses: ./.github/workflows/build.yml | |
secrets: inherit | |
create-release: | |
runs-on: ubuntu-latest | |
needs: build-everything | |
env: { GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" } | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Set Environment Variables | |
run: | | |
echo VERSION=`git describe --tags --abbrev=0 --match "v*" | tail -c +2` >> $GITHUB_ENV | |
- name: Download Artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
pattern: lpm.* | |
path: artifacts | |
merge-multiple: true | |
- name: Create Release(s) | |
run: | | |
perl -pe 'last if $_ =~ m/^\s*#/ && $_ !~ m/#\s*$ENV{VERSION}/' < CHANGELOG.md | tail -n +2 > NOTES.md | |
gh release delete -y continuous || true; | |
gh release create -t 'Continuous Release' -F NOTES.md continuous ./artifacts/* | |
if [[ `git tag --points-at HEAD v* | head -c 1` == "v" ]]; then | |
gh release delete -y v$VERSION || true; | |
gh release create -t v$VERSION -F NOTES.md v$VERSION ./artifacts/* | |
gh release delete -y latest || true; | |
gh release create -t latest -F NOTES.md latest ./artifacts/* | |
git branch -f latest HEAD | |
git tag -f latest | |
git push -f origin refs/heads/latest | |
git push -f origin refs/tags/latest | |
fi | |
git tag -f continuous | |
git push -f origin refs/tags/continuous | |
- name: Discord Notification | |
env: { DISCORD_WEBHOOK: "${{ secrets.DISCORD_WEBHOOK }}" } | |
run: | | |
if [[ -n "$DISCORD_WEBHOOK" ]] && [[ `git tag --points-at HEAD v* | head -c 1` == "v" ]]; then | |
perl -e 'use JSON qw(encode_json from_json); $/ = undef; print encode_json({ content => "## Lite XL Plugin Manager $ENV{VERSION} has been released!\nhttps://github.com/lite-xl/lite-xl-plugin-manager/releases/tag/v$ENV{VERSION}\n@release:lpm\n### Changes in $ENV{VERSION}:\n" . <> })' < NOTES.md | | |
curl -H 'Content-Type:application/json' $DISCORD_WEBHOOK -X POST -d "$(</dev/stdin)" | |
fi |