simplify repo release process in .gitlab-ci.yml

This commit is contained in:
Malte Jürgens 2023-02-12 15:46:53 +01:00
parent e0e82a85ed
commit fdb6bda9c2
Signed by: maltejur
GPG key ID: D29FBD5F93C0CFC3

View file

@ -2,7 +2,6 @@ stages:
- images
- build
- release
- deploy
Build Docker Images:
stage: images
@ -96,8 +95,6 @@ BuildWindows:
- librewolf-*-portable.zip
- librewolf-*-portable.zip.sha256sum
Release:
stage: release
when: manual
@ -118,13 +115,16 @@ Release:
script:
- |
codeberg_release_body=""
function upload_package() {
echo "Uploading $1"
curl \
--header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "$1" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1"
codeberg_release_body="${codeberg_release_body}[$1]($CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1)\n"
}
upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb
upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum
upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb
@ -143,6 +143,8 @@ Release:
upload_package librewolf-$FILEVER.en-US.mac.x86_64.dmg.sha256sum
upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg
upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
echo "Creating Codeberg release"
curl -X 'POST' \
"https://codeberg.org/api/v1/repos/librewolf/bsys5/releases?token=$CODEBERG_TOKEN" \
-H 'accept: application/json' \
@ -152,6 +154,47 @@ Release:
\"tag_name\": \"$FILEVER\",
\"body\": \"$codeberg_release_body\"
}"
- |
body=$(cat <<EOF
{
"token": "$REPO_DEPLOY_TOKEN",
"debs": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
"distros": ["bullseye"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb",
"distros": ["focal"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb",
"distros": ["jammy"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb",
"distros": ["uma", "una"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb",
"distros": ["vanessa", "vera"]
}
],
"rpms": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc37.x86_64.rpm"
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm"
}
]
}
EOF
)
id=$(curl "https://updaterepos.librewolf.net/job" --request POST --data "$body")
echo "Submitted update request to LibreWolf Software Repository (https://updaterepos.librewolf.net/job?id=$id)"
release:
tag_name: "$FILEVER"
description: "## LibreWolf bsys5 Release v$FILEVER\n\n- \n\n(Built on GitLab by pipeline [$CI_PIPELINE_ID](https://gitlab.com/librewolf-community/browser/bsys5/-/pipelines/$CI_PIPELINE_ID))"
@ -211,56 +254,3 @@ Release:
- name: macOS aarch64 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
Update Repositories:
stage: deploy
only:
- master
except:
- merge_requests
image: curlimages/curl
script:
- |
#
FILEVER=$(cat version)-$(cat source_release) ; grep -q 1 release ; if [ ! $? ]; then FILEVER=$(cat version)-$(cat source_release)-$(cat release); fi
body=$(cat <<EOF
{
"token": "$REPO_DEPLOY_TOKEN",
"debs": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
"distros": ["bullseye"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb",
"distros": ["focal"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb",
"distros": ["jammy"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb",
"distros": ["uma", "una"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb",
"distros": ["vanessa", "vera"]
}
],
"rpms": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc37.x86_64.rpm"
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm"
}
]
}
EOF
)
id=$(curl "https://updaterepos.librewolf.net/job" --request POST --data "$body")
echo "Submitted update request to LibreWolf Software Repository (https://updaterepos.librewolf.net/job?id=$id)"