Sign RPM package uploads
All checks were successful
Core RPM Release / build-core-rpm-release (push) Successful in 8m52s
GTK RPM Release / build-gtk-rpm-release (push) Successful in 5m35s
All checks were successful
Core RPM Release / build-core-rpm-release (push) Successful in 8m52s
GTK RPM Release / build-gtk-rpm-release (push) Successful in 5m35s
This commit is contained in:
@@ -1,13 +1,18 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
: "${GITEA_SERVER_URL:?Missing GITEA_SERVER_URL}"
|
server_url="${GITEA_SERVER_URL:-${GITHUB_SERVER_URL:-}}"
|
||||||
: "${GITEA_REPOSITORY_OWNER:?Missing GITEA_REPOSITORY_OWNER}"
|
owner="${GITEA_REPOSITORY_OWNER:-${GITHUB_REPOSITORY_OWNER:-}}"
|
||||||
|
if [[ -z "$owner" && -n "${GITHUB_REPOSITORY:-}" && "$GITHUB_REPOSITORY" == */* ]]; then
|
||||||
|
owner="${GITHUB_REPOSITORY%%/*}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
: "${server_url:?Missing GITEA_SERVER_URL}"
|
||||||
|
: "${owner:?Missing GITEA_REPOSITORY_OWNER}"
|
||||||
: "${RELEASE_ASSETS_DIR:?Missing RELEASE_ASSETS_DIR}"
|
: "${RELEASE_ASSETS_DIR:?Missing RELEASE_ASSETS_DIR}"
|
||||||
|
|
||||||
owner="${GITEA_REPOSITORY_OWNER}"
|
package_user="${RPM_PACKAGE_USERNAME:-$owner}"
|
||||||
package_user="${RPM_PACKAGE_USERNAME:-${GITEA_REPOSITORY_OWNER}}"
|
token="${RPM_PACKAGE_TOKEN:-${GITEA_TOKEN:-}}"
|
||||||
token="${RPM_PACKAGE_TOKEN:-}"
|
|
||||||
group="${RPM_PACKAGE_GROUP:-}"
|
group="${RPM_PACKAGE_GROUP:-}"
|
||||||
|
|
||||||
if [[ -z "$package_user" ]]; then
|
if [[ -z "$package_user" ]]; then
|
||||||
@@ -16,15 +21,19 @@ if [[ -z "$package_user" ]]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z "$token" ]]; then
|
if [[ -z "$token" ]]; then
|
||||||
echo "Missing package upload token. Set repository or organization secret RPM_PACKAGE_TOKEN." >&2
|
echo "Missing package upload token. Set RPM_PACKAGE_TOKEN or GITEA_TOKEN as a repository secret." >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
upload_url="${GITEA_SERVER_URL%/}/api/packages/${owner}/rpm"
|
upload_url="${server_url%/}/api/packages/${owner}/rpm"
|
||||||
if [[ -n "$group" ]]; then
|
if [[ -n "$group" ]]; then
|
||||||
upload_url="${upload_url}/${group}"
|
upload_url="${upload_url}/${group}"
|
||||||
fi
|
fi
|
||||||
upload_url="${upload_url}/upload"
|
upload_url="${upload_url}/upload"
|
||||||
|
upload_url="${upload_url}?sign=true"
|
||||||
|
|
||||||
|
response_file="$(mktemp)"
|
||||||
|
trap 'rm -f "$response_file"' EXIT
|
||||||
|
|
||||||
shopt -s nullglob
|
shopt -s nullglob
|
||||||
found_rpm=0
|
found_rpm=0
|
||||||
@@ -36,12 +45,18 @@ for rpm in "$RELEASE_ASSETS_DIR"/*.rpm; do
|
|||||||
esac
|
esac
|
||||||
|
|
||||||
found_rpm=1
|
found_rpm=1
|
||||||
http_code="$(curl --silent --show-error \
|
package_name="$(rpm -qp --queryformat '%{NAME}' "$rpm")"
|
||||||
|
package_version="$(rpm -qp --queryformat '%{VERSION}-%{RELEASE}' "$rpm")"
|
||||||
|
package_arch="$(rpm -qp --queryformat '%{ARCH}' "$rpm")"
|
||||||
|
|
||||||
|
http_code="$(
|
||||||
|
curl --silent --show-error \
|
||||||
--write-out '%{http_code}' \
|
--write-out '%{http_code}' \
|
||||||
--output /tmp/package-upload-response \
|
--output "$response_file" \
|
||||||
--user "${package_user}:${token}" \
|
--user "${package_user}:${token}" \
|
||||||
--upload-file "$rpm" \
|
--upload-file "$rpm" \
|
||||||
"$upload_url")"
|
"$upload_url"
|
||||||
|
)"
|
||||||
|
|
||||||
case "$http_code" in
|
case "$http_code" in
|
||||||
201)
|
201)
|
||||||
@@ -52,10 +67,24 @@ for rpm in "$RELEASE_ASSETS_DIR"/*.rpm; do
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Failed to upload $(basename "$rpm") to $upload_url (HTTP $http_code)." >&2
|
echo "Failed to upload $(basename "$rpm") to $upload_url (HTTP $http_code)." >&2
|
||||||
cat /tmp/package-upload-response >&2 || true
|
cat "$response_file" >&2 || true
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
package_url="${server_url%/}/api/packages/${owner}/rpm"
|
||||||
|
if [[ -n "$group" ]]; then
|
||||||
|
package_url="${package_url}/${group}"
|
||||||
|
fi
|
||||||
|
package_url="${package_url}/package/${package_name}/${package_version}/${package_arch}/${package_name}-${package_version}.${package_arch}.rpm"
|
||||||
|
|
||||||
|
signed_rpm="$(mktemp --suffix=.rpm)"
|
||||||
|
curl --silent --show-error --fail \
|
||||||
|
--user "${package_user}:${token}" \
|
||||||
|
--output "$signed_rpm" \
|
||||||
|
"$package_url"
|
||||||
|
mv "$signed_rpm" "$rpm"
|
||||||
|
rpm -Kv "$rpm" || true
|
||||||
done
|
done
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
|
|
||||||
|
|||||||
2
core/Cargo.lock
generated
2
core/Cargo.lock
generated
@@ -1274,7 +1274,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "kordophoned"
|
name = "kordophoned"
|
||||||
version = "1.3.3"
|
version = "1.3.6"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "kordophoned"
|
name = "kordophoned"
|
||||||
version = "1.3.5"
|
version = "1.3.6"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
license = "GPL-3.0"
|
license = "GPL-3.0"
|
||||||
description = "Client daemon for the Kordophone chat protocol"
|
description = "Client daemon for the Kordophone chat protocol"
|
||||||
|
|||||||
2
gtk/dist/rpm/kordophone.spec
vendored
2
gtk/dist/rpm/kordophone.spec
vendored
@@ -1,5 +1,5 @@
|
|||||||
Name: kordophone
|
Name: kordophone
|
||||||
Version: %{?app_version}%{!?app_version:1.4.5}
|
Version: %{?app_version}%{!?app_version:1.4.6}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: GTK4/Libadwaita client for Kordophone
|
Summary: GTK4/Libadwaita client for Kordophone
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
project('kordophone', 'vala',
|
project('kordophone', 'vala',
|
||||||
version : '1.4.5',
|
version : '1.4.6',
|
||||||
meson_version : '>=0.56.0',
|
meson_version : '>=0.56.0',
|
||||||
default_options : ['warning_level=2']
|
default_options : ['warning_level=2']
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user