mirror of
https://github.com/subsurface/subsurface.git
synced 2024-11-28 05:00:20 +00:00
GitHub Actions: stop creating CI releases
Net net this has caused more problems than it solved. Too often binaries were missing or broken. Instead 'release equivalent' binaries are now consistently posted to downloads/test via a Webhook. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
36748fef0d
commit
d49647d288
6 changed files with 0 additions and 162 deletions
11
.github/actions/release/Dockerfile
vendored
11
.github/actions/release/Dockerfile
vendored
|
@ -1,11 +0,0 @@
|
|||
FROM alpine:latest
|
||||
|
||||
RUN apk add --no-cache \
|
||||
bash \
|
||||
ca-certificates \
|
||||
curl \
|
||||
jq
|
||||
|
||||
COPY upload /usr/bin/upload
|
||||
|
||||
ENTRYPOINT ["/usr/bin/upload"]
|
4
.github/actions/release/action.yml
vendored
4
.github/actions/release/action.yml
vendored
|
@ -1,4 +0,0 @@
|
|||
name: upload to release
|
||||
runs:
|
||||
using: docker
|
||||
image: Dockerfile
|
112
.github/actions/release/upload
vendored
112
.github/actions/release/upload
vendored
|
@ -1,112 +0,0 @@
|
|||
#!/bin/bash
|
||||
# SPDX
|
||||
|
||||
if [[ -z "$GITHUB_TOKEN" ]]; then
|
||||
echo "missing GITHUB_TOKEN"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$GITHUB_REPO" ]] ; then
|
||||
echo "missing GITHUB_REPO"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$REF" ]] ; then
|
||||
echo "missing REF"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -z "$COMMIT" ]] ; then
|
||||
echo "missing COMMIT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TAG="ci-release"
|
||||
|
||||
echo $REF
|
||||
if [[ $REF = refs/heads/* ]] ; then
|
||||
branch="$(echo $REF | cut -d/ -f 3)"
|
||||
body="CI build of branch $branch. These binaries are for testing purposes. They are not signed and installations on Mac and Android will create warnings and errors without some extra work."
|
||||
branch="-$branch"
|
||||
echo "it's refs/heads with an added $branch"
|
||||
if [[ $REF != refs/heads/master ]] ; then
|
||||
TAG="${TAG}${branch}"
|
||||
fi
|
||||
elif [[ $REF = refs/tags/* ]] ; then
|
||||
TAG=$(echo $REF | cut -d/ -f 3)
|
||||
body="Release build ($TAG)"
|
||||
fi
|
||||
|
||||
# check if there is a tag of that name
|
||||
# if it is starts with ci (so this is a continous integration tag) and it's on a different SHA, delete it
|
||||
tag_url="https://api.github.com/repos/$GITHUB_REPO/git/refs/tags/$TAG"
|
||||
release_url="https://api.github.com/repos/$GITHUB_REPO/releases/tags/$TAG"
|
||||
|
||||
echo "get tag infos: curl -XGET --header \"Authorization: token xxxx\" \"${tag_url}\""
|
||||
tag_infos=$(curl -XGET --header "Authorization: token ${GITHUB_TOKEN}" "${tag_url}")
|
||||
echo "information received for tag $TAG"
|
||||
echo $tag_infos
|
||||
existing_tag_sha=$(echo $tag_infos | jq --raw-output .object.sha)
|
||||
|
||||
need_new_release="0"
|
||||
if [[ "$existing_tag_sha" != "null" ]] ; then
|
||||
echo "existing tag on SHA $existing_tag_sha"
|
||||
existing_release=$(curl -XGET --header "Authorization: token ${GITHUB_TOKEN}" "${release_url}")
|
||||
release_id=$(echo $existing_release | jq --raw-output .id )
|
||||
echo "information received for the release with release ID \"$release_id\""
|
||||
echo $existing_release
|
||||
if [[ "$release_id" == "null" ]] ; then
|
||||
need_new_release="1"
|
||||
fi
|
||||
|
||||
if [[ "$existing_tag_sha" != "$COMMIT" ]] ; then
|
||||
need_new_release="1"
|
||||
echo "tag was on different SHA, delete it and the corresponding release (if it exists)"
|
||||
echo "deleting tag $TAG"
|
||||
curl -XDELETE --header "Authorization: token ${GITHUB_TOKEN}" "${tag_url}"
|
||||
if [[ "$release_id" != "null" ]] ; then
|
||||
echo "Delete the release $release_id"
|
||||
delete_url="https://api.github.com/repos/$GITHUB_REPO/releases/$release_id"
|
||||
curl -XDELETE --header "Authorization: token ${GITHUB_TOKEN}" "${delete_url}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "this is a new tag"
|
||||
need_new_release="1"
|
||||
fi
|
||||
|
||||
if [[ "$need_new_release" = "1" ]] ; then
|
||||
echo "create a new release and implicitly a new tag"
|
||||
release=$(curl -H "Authorization: token ${GITHUB_TOKEN}" --data '{"tag_name": "'"$TAG"'","target_commitish": "'"$COMMIT"'","name": "'"$TAG"'","body": "'"$body"'","draft": false,"prerelease": true}' "https://api.github.com/repos/$GITHUB_REPO/releases")
|
||||
echo "response to release creation"
|
||||
echo "$release"
|
||||
fi
|
||||
|
||||
# get the upload URL
|
||||
release_info=$(curl -XGET --header "Authorization: token ${GITHUB_TOKEN}" "${release_url}")
|
||||
echo "release info for $TAG"
|
||||
echo $release_info
|
||||
upload_url=$(echo $release_info | jq --raw-output .upload_url | cut -d '{' -f 1)
|
||||
|
||||
if [[ "$upload_url" = "null" ]] ; then
|
||||
echo "error determining release upload URL, aborting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# accept up to 9 binaries via environment variables
|
||||
for FILENAME in $BIN1 $BIN2 $BIN3 $BIN4 $BIN5 $BIN6 $BIN7 $BIN8 $BIN9
|
||||
do
|
||||
if [[ -z "$FILENAME" ]] ; then
|
||||
break
|
||||
fi
|
||||
if [[ ! -f $FILENAME ]] ; then
|
||||
echo "Cannot find binary $FILENAME"
|
||||
continue
|
||||
fi
|
||||
echo "upload $FILENAME to release"
|
||||
BASENAME="$(basename $FILENAME)"
|
||||
echo "curl -H \"Authorization: token xxxxx\" -H \"Accept: application/vnd.github.manifold-preview\" -H \"Content-Type: application/octet-stream\" --data-binary @$FILENAME \"$upload_url?name=$BASENAME\""
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github.manifold-preview" -H "Content-Type: application/octet-stream" --data-binary @$FILENAME "$upload_url?name=$BASENAME"
|
||||
done
|
||||
|
||||
# vim: tw=0
|
11
.github/workflows/android.yml
vendored
11
.github/workflows/android.yml
vendored
|
@ -28,17 +28,6 @@ jobs:
|
|||
cp /__w/subsurface/subsurface-mobile-build-arm64/*mobile*/build/outputs/apk/debug/subsurface-mobile-arm64-v8a-debug.apk ${GITHUB_WORKSPACE}/Subsurface-mobile.arm64.apk
|
||||
cp /__w/subsurface/subsurface-mobile-build-arm/*mobile*/build/outputs/apk/debug/subsurface-mobile-armeabi-v7a-debug.apk ${GITHUB_WORKSPACE}/Subsurface-mobile.apk
|
||||
|
||||
- name: create CI release
|
||||
if: github.event_name == 'push'
|
||||
uses: ./.github/actions/release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPO: ${{ github.repository }}
|
||||
REF: ${{ github.ref }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
BIN1: ./Subsurface-mobile.apk
|
||||
BIN2: ./Subsurface-mobile.arm64.apk
|
||||
|
||||
- name: prepare PR artifacts
|
||||
if: github.event_name == 'pull_request'
|
||||
run: |
|
||||
|
|
10
.github/workflows/linux-trusty-5.12.yml
vendored
10
.github/workflows/linux-trusty-5.12.yml
vendored
|
@ -23,16 +23,6 @@ jobs:
|
|||
rm -rf /install-root/include/libdivecomputer
|
||||
bash -x subsurface/.github/workflows/scripts/linux-in-container-build.sh
|
||||
|
||||
- name: create CI release
|
||||
if: github.event_name == 'push'
|
||||
uses: ./.github/actions/release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPO: ${{ github.repository }}
|
||||
REF: ${{ github.ref }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
BIN1: ./Subsurface.AppImage
|
||||
|
||||
- name: prepare PR artifacts
|
||||
if: github.event_name == 'pull_request'
|
||||
run: |
|
||||
|
|
14
.github/workflows/windows.yml
vendored
14
.github/workflows/windows.yml
vendored
|
@ -39,20 +39,6 @@ jobs:
|
|||
bash -x subsurface/.github/workflows/scripts/windows-in-container-build.sh 2>&1 | tee build.log
|
||||
grep "Built target installer" build.log
|
||||
|
||||
- name: create CI release
|
||||
if: github.event_name == 'push'
|
||||
uses: ./.github/actions/release
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
GITHUB_REPO: ${{ github.repository }}
|
||||
REF: ${{ github.ref }}
|
||||
COMMIT: ${{ github.sha }}
|
||||
BIN1: ./subsurface-installer.exe
|
||||
BIN2: ./subsurface.exe
|
||||
BIN3: ./subsurface.exe.debug
|
||||
BIN4: ./smtk2ssrf-installer.exe
|
||||
BIN5: ./smtk2ssrf.exe
|
||||
|
||||
- name: prepare PR artifacts
|
||||
if: github.event_name == 'pull_request'
|
||||
run: |
|
||||
|
|
Loading…
Reference in a new issue