Maintain floating "latest"-Release
This commit is contained in:
parent
b773ed8d71
commit
490e081b18
2 changed files with 60 additions and 1 deletions
17
.github/workflows/build.yml
vendored
17
.github/workflows/build.yml
vendored
|
@ -163,10 +163,25 @@ jobs:
|
||||||
id: create_release
|
id: create_release
|
||||||
run: |
|
run: |
|
||||||
set -xe
|
set -xe
|
||||||
NAME="Auto-Build $(date +'%Y-%m-%d %H:%M')"
|
RELDATE="$(date +'%Y-%m-%d %H:%M')"
|
||||||
|
NAME="Auto-Build $RELDATE"
|
||||||
TAGNAME="autobuild-$(date +'%Y-%m-%d-%H-%M')"
|
TAGNAME="autobuild-$(date +'%Y-%m-%d-%H-%M')"
|
||||||
hub release create $(for a in artifacts/*.{zip,tar.xz}; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
|
hub release create $(for a in artifacts/*.{zip,tar.xz}; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
|
||||||
echo "::set-output name=tag_name::${TAGNAME}"
|
echo "::set-output name=tag_name::${TAGNAME}"
|
||||||
|
echo "::set-output name=rel_date::${RELDATE}"
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
|
- name: Update Latest
|
||||||
|
run: |
|
||||||
|
set -xe
|
||||||
|
mkdir latest_artifacts
|
||||||
|
./util/repack_latest.sh latest_artifacts artifacts/*.{zip,tar.xz}
|
||||||
|
NAME="Latest Auto-Build (${{ steps.create_release.outputs.rel_date }})"
|
||||||
|
TAGNAME="latest"
|
||||||
|
hub release delete "$TAGNAME" || true
|
||||||
|
git tag -d "$TAGNAME" || true
|
||||||
|
git push --delete origin "$TAGNAME" || true
|
||||||
|
hub release create $(for a in latest_artifacts/*; do echo -a $a; done) -m "$NAME" -t "master" "$TAGNAME"
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ github.token }}
|
GITHUB_TOKEN: ${{ github.token }}
|
||||||
- name: Update Wiki
|
- name: Update Wiki
|
||||||
|
|
44
util/repack_latest.sh
Executable file
44
util/repack_latest.sh
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [[ $# -lt 2 ]]; then
|
||||||
|
echo "Missing arguments"
|
||||||
|
exit -1
|
||||||
|
fi
|
||||||
|
|
||||||
|
RELEASE_DIR="$(realpath "$1")"
|
||||||
|
shift
|
||||||
|
|
||||||
|
rm -rf repack_dir
|
||||||
|
mkdir repack_dir
|
||||||
|
trap "rm -rf repack_dir" EXIT
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
INPUT="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
rm -rf repack_dir/*
|
||||||
|
|
||||||
|
if [[ $INPUT == *.zip ]]; then
|
||||||
|
unzip "$INPUT" -d repack_dir
|
||||||
|
elif [[ $INPUT == *.tar.xz ]]; then
|
||||||
|
tar xvaf "$INPUT" -C repack_dir
|
||||||
|
else
|
||||||
|
echo "Unknown input file type: $INPUT"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd repack_dir
|
||||||
|
|
||||||
|
INAME="$(echo ffmpeg-*)"
|
||||||
|
ONAME="ffmpeg-latest-$(cut -d- -f5- <<<"$INAME")"
|
||||||
|
mv "$INAME" "$ONAME"
|
||||||
|
|
||||||
|
if [[ $INPUT == *.zip ]]; then
|
||||||
|
zip -9 -r "$RELEASE_DIR/$ONAME.zip" "$ONAME"
|
||||||
|
elif [[ $INPUT == *.tar.xz ]]; then
|
||||||
|
tar cvJf "$RELEASE_DIR/$ONAME.tar.xz" "$ONAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
done
|
Loading…
Reference in a new issue