Skip to content

Commit 786d49f

Browse files
committed
CI: Re-create pre-release tag
1 parent 58732ea commit 786d49f

1 file changed

Lines changed: 37 additions & 14 deletions

File tree

.github/workflows/build.yml

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -263,24 +263,47 @@ jobs:
263263
- build_fedora_36
264264
- build_windows
265265
steps:
266-
- uses: actions/checkout@v3
267-
- uses: actions/download-artifact@v3
266+
- name: Checkout
267+
uses: actions/checkout@v3
268+
with:
269+
fetch-depth: 0
270+
271+
- name: Set is_pre_release
272+
run: echo "is_pre_release=$(grep 'set(INCLUDE_GIT_REVISION ON)' cmake/Version.cmake >/dev/null 2>&1 && echo 1 || echo 0)" >> $GITHUB_ENV
273+
274+
- name: Set version
275+
if: env.is_pre_release == '1'
276+
run: echo "version=$(git describe --long --tags --always --exclude pre-release)" >> $GITHUB_ENV
277+
278+
- name: Have have_pre_release
279+
if: env.is_pre_release == '1'
280+
run: echo "have_pre_release=$(git tag -l | grep pre-release >/dev/null 2>&1 && echo 1 || echo 0)" >> $GITHUB_ENV
281+
282+
- name: Delete previous pre-release
283+
if: env.is_pre_release == '1' && env.have_pre_release == '1' && env.version != ''
284+
env:
285+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
286+
run: |
287+
hub release delete "pre-release"
288+
git tag -d "pre-release"
289+
git push --delete origin "pre-release"
290+
291+
- name: Download artifacts
292+
if: env.is_pre_release == '1' && env.version != ''
293+
uses: actions/download-artifact@v3
268294
with:
269295
path: releases
296+
270297
- name: Create Release
298+
if: env.is_pre_release == '1' && env.version != ''
271299
env:
272300
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
273301
run: |
274302
set -x
275-
VERSION=$(ls -1 releases/*/*.tar.xz | head -n1 | sed -e 's/.*sqlrestore-\(.*\).tar.xz/\1/')
276-
echo "Version: ${VERSION}"
277-
echo "${VERSION}" | grep '[0-9]\+\.[0-9]\+\.[0-9]\+.[0-9]\+\..*' >/dev/null 2>&1 || true
278-
if [ $? -eq 0 ]; then
279-
hub release delete "pre-release" || true
280-
files=()
281-
for file in $(find releases -type f); do
282-
echo "Adding file: ${file}"
283-
files+=("-a" "${file}")
284-
done
285-
hub release create -p -t "$GITHUB_SHA" -m "SQL Restore ${VERSION}" "${files[@]}" "pre-release"
286-
fi
303+
echo "Version: ${{env.version}}"
304+
files=()
305+
for file in $(find releases -type f); do
306+
echo "Adding file: ${file}"
307+
files+=("-a" "${file}")
308+
done
309+
hub release create -p -t "$GITHUB_SHA" -m "SQL Restore ${{env.version}}" "${files[@]}" "pre-release"

0 commit comments

Comments
 (0)