aboutsummaryrefslogtreecommitdiff
path: root/vendor/cabal-helper-0.8.1.2/scripts/ci
diff options
context:
space:
mode:
authoralexwl <alexey.a.kiryushin@gmail.com>2018-10-08 02:40:18 +0300
committeralexwl <alexey.a.kiryushin@gmail.com>2018-10-08 02:40:18 +0300
commitf38daf67730fe31b865528eb972c619857e62a5c (patch)
tree093c30681686f834dfa4b39da119e230b19284e9 /vendor/cabal-helper-0.8.1.2/scripts/ci
parent579a0f16c4f3ad2bcc8a283081d214fbe1ee3a59 (diff)
Update cabal-helper to version 0.8.1.2 that supports Cabal (>=1.14 && <1.26 || >=2.0 && <2.5)
Building cabal-helper-0.8.1.2 with Stack failed with 'Dependency cycle detected' error. It seems to be https://github.com/commercialhaskell/stack/issues/4265 Stack bug. As a temporary solution I added source code of cabal-helper package to vendor directory and commented out 'build-tool-depends: cabal-helper:cabal-helper-wrapper' line in the cabal-helper.cabal file.
Diffstat (limited to 'vendor/cabal-helper-0.8.1.2/scripts/ci')
-rwxr-xr-xvendor/cabal-helper-0.8.1.2/scripts/ci/build.sh9
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh5
-rwxr-xr-xvendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh50
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh12
l---------vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh1
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh3
l---------vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh1
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh6
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh4
-rw-r--r--vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh2
10 files changed, 93 insertions, 0 deletions
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh
new file mode 100755
index 0000000..7d2c136
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/build.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -ex
+
+CI_SCRIPTS_DIR="$(realpath "$(dirname "$0")")"
+
+for step in $(printf '%s\n' "$CI_SCRIPTS_DIR"/steps/* | sort); do
+ . $step
+done
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh
new file mode 100644
index 0000000..891cea6
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/print-packages.sh
@@ -0,0 +1,5 @@
+if [ -e cabal.sandbox.config ]; then
+ cabal sandbox hc-pkg list
+else
+ ghc-pkg list
+fi
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh
new file mode 100755
index 0000000..285648e
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/retry.sh
@@ -0,0 +1,50 @@
+#!/usr/bin/env bash
+
+# MIT LICENSE
+#
+# Copyright (c) 2016 Travis CI GmbH <contact@travis-ci.org>
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to deal
+# in the Software without restriction, including without limitation the rights
+# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+# copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+# THE SOFTWARE.
+#
+#
+# Copied from github.com/travis-ci/travis-build and modified to pass shellcheck.
+# Copied from https://github.com/cockroachdb/cockroach/blob/b4b7412d1c899a7488a9839eb4e01a616e4de135/scripts/travis_retry.sh and modified slightly
+
+retry() {
+ local result=0
+ local count=1
+ while [ $count -le 3 ]; do
+ [ $result -ne 0 ] && {
+ echo -e "\n${ANSI_RED}The command \"$*\" failed. Retrying, $count of 3.${ANSI_RESET}\n" >&2
+ }
+ "$@"
+ result=$?
+ [ $result -eq 0 ] && break
+ count=$((count + 1))
+ sleep 10
+ done
+
+ [ $count -gt 3 ] && {
+ echo -e "\n${ANSI_RED}The command \"$*\" failed 3 times.${ANSI_RESET}\n" >&2
+ }
+
+ return $result
+}
+
+retry "$@"
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh
new file mode 100644
index 0000000..eb8280a
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/00-config.sh
@@ -0,0 +1,12 @@
+if [ -w . ]; then
+ sandbox="$PWD"/.cabal-sandbox
+ sandbox_config="$PWD"/cabal.sandbox.config
+else
+ sandbox="$HOME"/cabal-sandbox
+ sandbox_config="$HOME"/cabal.sandbox.config
+fi
+
+source_dir="$(mktemp --tmpdir -d "cabal-helper.sdistXXXXXXXXX")"
+build_dir="$(mktemp --tmpdir -d "cabal-helper.distXXXXXXXXX")"
+
+NPROC=${NPROC:-1}
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh
new file mode 120000
index 0000000..4a3479a
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/05-print-packages.sh
@@ -0,0 +1 @@
+../print-packages.sh \ No newline at end of file
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh
new file mode 100644
index 0000000..0d0254c
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/10-dependencies.sh
@@ -0,0 +1,3 @@
+"$CI_SCRIPTS_DIR"/retry.sh cabal update
+cabal --sandbox-config="$sandbox_config" sandbox init --sandbox="$sandbox"
+cabal --sandbox-config="$sandbox_config" install --only-dependencies --enable-tests
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh
new file mode 120000
index 0000000..4a3479a
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/15-print-packages.sh
@@ -0,0 +1 @@
+../print-packages.sh \ No newline at end of file
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh
new file mode 100644
index 0000000..bd8fbe1
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/20-sdist.sh
@@ -0,0 +1,6 @@
+mkdir -p "$source_dir"
+mkdir -p "$build_dir"
+
+cabal --sandbox-config="$sandbox_config" sdist --builddir="$build_dir" --output-directory="$source_dir"
+
+cd "$source_dir"
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh
new file mode 100644
index 0000000..8e71aa3
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/30-build.sh
@@ -0,0 +1,4 @@
+# -fdev enables building the helper "main" exe directly and enables more warnings
+cabal --sandbox-config="$sandbox_config" configure --builddir="$build_dir" --enable-tests -fdev
+cabal --sandbox-config="$sandbox_config" build --builddir="$build_dir"
+cabal --sandbox-config="$sandbox_config" haddock --builddir="$build_dir"
diff --git a/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh
new file mode 100644
index 0000000..cfdf05c
--- /dev/null
+++ b/vendor/cabal-helper-0.8.1.2/scripts/ci/steps/40-test.sh
@@ -0,0 +1,2 @@
+cabal_helper_libexecdir="$build_dir"/build/cabal-helper-wrapper \
+ cabal --sandbox-config="$sandbox_config" test --builddir="$build_dir" --show-details=streaming