@@ -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