...
 
Commits (3)
......@@ -32,12 +32,6 @@ if fgrep Axiom build-log.txt >/dev/null; then exit 1; fi
echo_color "$BOLDGREEN" "[buildjob] Build time summary"
cat build-log.txt | egrep "(real|user): [0-9]" | tee build-time.txt
# maybe validate
if [[ -n "$VALIDATE" ]]; then
echo_color "$BOLDGREEN" "[buildjob] Performing validation"
make validate
fi
# maybe submit timing information
if [[ -n "$TIMING_PROJECT" && -n "$TIMING_CONF" ]]; then
echo_color "$BOLDGREEN" "[buildjob] Submitting timing information to coq-speed"
......@@ -57,26 +51,6 @@ if [[ -n "$TIMING_PROJECT" && -n "$TIMING_CONF" ]]; then
--data-binary @- < build-time.txt
fi
# maybe generate and upload documentation
if [[ -n "$DOC_DIR" && "$CI_COMMIT_REF_NAME" == "${DOC_BRANCH:-master}" ]]; then
echo_color "$BOLDGREEN" "Publishing documentation from branch $CI_COMMIT_REF_NAME to $DOC_DIR"
# check if we have the secret
if [[ -z "$DOC_KEY" ]]; then
echo_color "$BOLDRED" "[buildjob] DOC_KEY variable is missing"
exit 1
fi
# We need a custom wrapper around SSH to use our settings, and ssh-agent for the key
eval $(ssh-agent -s)
echo "${DOC_KEY}" | tr -d '\r' | ssh-add -
export GIT_SSH=$(readlink -e ci/ssh)
# Generate documentation
make html
# Upload documentation
rsync -a --delete -e "$GIT_SSH" html/ "$DOC_DIR/"
fi
# maybe create opam package
if [[ -n "$OPAM_PKG" && "$CI_COMMIT_REF_NAME" == "${OPAM_PKG_BRANCH:-master}" ]]; then
echo_color "$BOLDGREEN" "[buildjob] Releasing package on opam"
......@@ -102,3 +76,29 @@ if [[ -n "$OPAM_PKG" && "$CI_COMMIT_REF_NAME" == "${OPAM_PKG_BRANCH:-master}" ]]
-F "variables[OPAM_PREFIX]=$OPAM_PKG_PREFIX"
echo # there's no newline here otherwise
fi
# maybe validate
if [[ -n "$VALIDATE" ]]; then
echo_color "$BOLDGREEN" "[buildjob] Performing validation"
make validate
fi
# maybe generate and upload documentation
if [[ -n "$DOC_DIR" && "$CI_COMMIT_REF_NAME" == "${DOC_BRANCH:-master}" ]]; then
echo_color "$BOLDGREEN" "Publishing documentation from branch $CI_COMMIT_REF_NAME to $DOC_DIR"
# check if we have the secret
if [[ -z "$DOC_KEY" ]]; then
echo_color "$BOLDRED" "[buildjob] DOC_KEY variable is missing"
exit 1
fi
# We need a custom wrapper around SSH to use our settings, and ssh-agent for the key
eval $(ssh-agent -s)
echo "${DOC_KEY}" | tr -d '\r' | ssh-add -
export GIT_SSH=$(readlink -e ci/ssh)
# Generate documentation
make html
# Upload documentation
rsync -a --delete -e "$GIT_SSH" html/ "$DOC_DIR/"
fi
......@@ -12,17 +12,21 @@ else
echo_color "$BOLDYELLOW" "[prepare-opam] Creating new opam root"
mkdir "$OPAMROOT"
opam init --no-setup -y
FRESH_OPAM=yes
fi
eval `opam conf env`
# Make sure the pin for the builddep package exists and is up-to-date
make build-dep/opam
if [[ -z "$FRESH_OPAM" ]]; then # skip if this is a fresh opam root
# Make sure the pin for the builddep package exists and is up-to-date.
# This avoids opam complaining about pins pointing to a non-existing file.
make build-dep/opam
# Update repositories
opam update
# Update repositories
opam update
fi
# Make sure we got the right set of repositories registered
if echo "$@" | fgrep "dev" > /dev/null; then
if echo "$@" | egrep "(dev|beta)" > /dev/null; then
# We are compiling against a dev version of something. Get ourselves the dev repositories.
test -d "$OPAMROOT/repo/coq-extra-dev" || opam repo add coq-extra-dev https://coq.inria.fr/opam/extra-dev -p 0
test -d "$OPAMROOT/repo/coq-core-dev" || opam repo add coq-core-dev https://coq.inria.fr/opam/core-dev -p 5
......@@ -56,10 +60,12 @@ while (( "$#" )); do # while there are arguments left
done
echo
# Upgrade cached things.
echo_color "$BOLDGREEN" "[prepare-opam] Upgrading packages"
opam upgrade -y --fixup && opam upgrade -y
echo
if [[ -z "$FRESH_OPAM" ]]; then # skip if this is a fresh opam root
# Upgrade cached things
echo_color "$BOLDGREEN" "[prepare-opam] Upgrading packages"
opam upgrade -y --fixup && opam upgrade -y
echo
fi
# Install build-dependencies.
echo_color "$BOLDGREEN" "[prepare-opam] Installing build-dependencies"
......