fix(debian): make sure we can publish all archs (#350)
We are mostly good to declare a stable release. We still need to deal with https://github.com/ooni/probe/issues/1484. In this PR, we fix the aforementioned issue. These are the changes: 1. we remove the vendored `debops-ci`, and we pull it directly from `ooni/sysadmin` 2. we introduce a new script, `./CLI/linux/pubdebian`, to publish packages 3. we modify `./mk` to allow for publishing debian packages built outside of CI The latter point has been quite useful in debugging what was wrong.
This commit is contained in:
Executable
+52
@@ -0,0 +1,52 @@
|
||||
#!/bin/sh
|
||||
# This script publishes Debian packages. When run by `mk`, it's
|
||||
# run inside of an `ubuntu:20.04` container. It's fine also to run
|
||||
# this script from a live Debian-like system as long as all the
|
||||
# following assumptions are met:
|
||||
#
|
||||
# 1. Debian packages we want to publish are in the toplevel dir.
|
||||
|
||||
# ensure that we have all the required environment variables.
|
||||
fail=0
|
||||
if [ -z "$AWS_ACCESS_KEY_ID" ]; then
|
||||
echo "warning: missing AWS_ACCESS_KEY_ID environment variable" 1>&2
|
||||
fail=1
|
||||
fi
|
||||
if [ -z "$AWS_SECRET_ACCESS_KEY" ]; then
|
||||
echo "warning: missing AWS_SECRET_ACCESS_KEY environment variable" 1>&2
|
||||
fail=1
|
||||
fi
|
||||
if [ -z "$DEB_GPG_KEY" ]; then
|
||||
echo "warning: missing DEB_GPG_KEY environment variable" 1>&2
|
||||
fail=1
|
||||
fi
|
||||
if [ $fail -ne 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
set -ex
|
||||
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
maybe_with_sudo() {
|
||||
if command -v sudo 1>/dev/null; then
|
||||
sudo "$@"
|
||||
else
|
||||
"$@"
|
||||
fi
|
||||
}
|
||||
|
||||
# install the dependencies required by the uploader.
|
||||
maybe_with_sudo apt-get update -q
|
||||
maybe_with_sudo apt-get install --yes --no-install-recommends curl git make python3 python3-requests python3-gnupg s3cmd
|
||||
|
||||
# pull the latest version of the debops-ci script from ooni/sysadmin.
|
||||
curl -fsSLO https://raw.githubusercontent.com/ooni/sysadmin/master/tools/debops-ci
|
||||
chmod +x debops-ci
|
||||
|
||||
# loop over the available packages and upload.
|
||||
for debpkg in *.deb; do
|
||||
# for example: ooniprobe-cli_3.10.0_i386.deb
|
||||
arch=$(echo "$debpkg" | awk -F_ '{print $3}' | sed 's/\.deb$//g')
|
||||
./debops-ci --show-commands upload --bucket-name ooni-deb --arch "$arch" "$debpkg"
|
||||
done
|
||||
Reference in New Issue
Block a user