summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorAllen Wild <aswild@users.noreply.github.com>2021-03-20 13:37:50 -0400
committerGitHub <noreply@github.com>2021-03-20 13:37:50 -0400
commit6a1c3253e02427d3e7ad6389b624b1a38eae61e1 (patch)
tree9ef3eb77ee77a060b67b4478249689b8fc2f9353 /ci
parentc7730d1f3a366e42fdd497a1e0db4bf090de415c (diff)
ci: fix deb build script in clean checkout
If ripgrep hasn't been built yet (i.e. target/debug/ doesn't exist), then cargo-out-dir can't find OUT_DIR and the copy commands fail. Fix by running cargo build before finding OUT_DIR. Also add a check to fail early with a sensible error message when asciidoctor isn't installed, rather than failing because of a missing rg.1 file after the build. PR #1831
Diffstat (limited to 'ci')
-rwxr-xr-xci/build-deb7
1 files changed, 6 insertions, 1 deletions
diff --git a/ci/build-deb b/ci/build-deb
index 4ea1308d..31f9b719 100755
--- a/ci/build-deb
+++ b/ci/build-deb
@@ -17,16 +17,21 @@ if ! command -V cargo-deb > /dev/null 2>&1; then
exit 1
fi
+if ! command -V asciidoctor > /dev/null 2>&1; then
+ echo "asciidoctor command missing" >&2
+ exit 1
+fi
+
# 'cargo deb' does not seem to provide a way to specify an asset that is
# created at build time, such as ripgrep's man page. To work around this,
# we force a debug build, copy out the man page (and shell completions)
# produced from that build, put it into a predictable location and then build
# the deb, which knows where to look.
+cargo build
DEPLOY_DIR=deployment/deb
OUT_DIR="$("$D"/cargo-out-dir target/debug/)"
mkdir -p "$DEPLOY_DIR"
-cargo build
# Copy man page and shell completions.
cp "$OUT_DIR"/{rg.1,rg.bash,rg.fish} "$DEPLOY_DIR/"