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
|
||||
run: |
|
||||
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')"
|
||||
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=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:
|
||||
GITHUB_TOKEN: ${{ github.token }}
|
||||
- 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