e9da23f123
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.
53 lines
1.5 KiB
Bash
Executable File
53 lines
1.5 KiB
Bash
Executable File
#!/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
|