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 - images
- build - build
- release - release
- deploy
Build Docker Images: Build Docker Images:
stage: images stage: images
@ -96,8 +95,6 @@ BuildWindows:
- librewolf-*-portable.zip - librewolf-*-portable.zip
- librewolf-*-portable.zip.sha256sum - librewolf-*-portable.zip.sha256sum
Release: Release:
stage: release stage: release
when: manual when: manual
@ -118,13 +115,16 @@ Release:
script: script:
- | - |
codeberg_release_body="" codeberg_release_body=""
function upload_package() { function upload_package() {
echo "Uploading $1"
curl \ curl \
--header "JOB-TOKEN: $CI_JOB_TOKEN" \ --header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "$1" \ --upload-file "$1" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$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" 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
upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum
upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb 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.x86_64.dmg.sha256sum
upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg
upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
echo "Creating Codeberg release"
curl -X 'POST' \ curl -X 'POST' \
"https://codeberg.org/api/v1/repos/librewolf/bsys5/releases?token=$CODEBERG_TOKEN" \ "https://codeberg.org/api/v1/repos/librewolf/bsys5/releases?token=$CODEBERG_TOKEN" \
-H 'accept: application/json' \ -H 'accept: application/json' \
@ -152,6 +154,47 @@ Release:
\"tag_name\": \"$FILEVER\", \"tag_name\": \"$FILEVER\",
\"body\": \"$codeberg_release_body\" \"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: release:
tag_name: "$FILEVER" 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))" 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) - name: macOS aarch64 (sha256sum)
link_type: other link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum 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)"