diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f09343fb08de36f86891a3b9e756a8ec3a81dad..6ce0d7edd9f47192d7bdd68e09636b3fd44f4ff9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,5 +1,22 @@ image: ralfjung/opam-ci:latest +stdpp-coq8.5: + tags: + - coq + script: + # prepare + - . build/opam-ci.sh coq 8.5.3 + # build + - 'time make -j8' + cache: + key: "coq8.5" + paths: + - opamroot/ + only: + - master + - ci + - timing + stdpp-coq8.6: tags: - coq @@ -10,7 +27,7 @@ stdpp-coq8.6: - 'time make -j8 TIMED=y 2>&1 | tee build-log.txt' - 'if fgrep Axiom build-log.txt >/dev/null; then exit 1; fi' - 'cat build-log.txt | egrep "[a-zA-Z0-9_/-]+ \(user: [0-9]" | tee build-time.txt' - - 'make validate' + - 'if (( RANDOM % 10 == 0 )); then make validate; fi' cache: key: "coq8.6" paths: diff --git a/Makefile b/Makefile index 1a7e330577c260f0a711cf623ca6413988a94165..6394c42a5c3cd9ecfa57864c33cf15f87b0549cc 100644 --- a/Makefile +++ b/Makefile @@ -32,9 +32,9 @@ Makefile.coq: _CoqProject Makefile awk.Makefile build-dep: build/opam-pins.sh < opam.pins opam upgrade $(YFLAG) # it is not nice that we upgrade *all* packages here, but I found no nice way to upgrade only those that we pinned - opam pin add coq-stdpp "$$(pwd)#HEAD" -k git -n -y - opam install coq-stdpp --deps-only $(YFLAG) - opam pin remove coq-stdpp + opam pin add opam-builddep-temp "$$(pwd)#HEAD" -k git -n -y + opam install opam-builddep-temp --deps-only $(YFLAG) + opam pin remove opam-builddep-temp # Some files that do *not* need to be forwarded to Makefile.coq Makefile: ; diff --git a/README.md b/README.md index 662a72ac2c0832791fb98ddafe218dc77eedbe46..11ae0d982298fb2cd4b5ff167f0ea919936d6a51 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ The key features of this library are as follows: `naive_solver`, an equality simplifier `simplify_eq`, a solver `solve_proper` for proving compatibility of functions with respect to relations, and a solver `set_solver` for goals involving set operations. -- It is entirely axiom free. +- It is entirely dependency- and axiom-free. ## History @@ -32,8 +32,8 @@ developed by Robbert Krebbers, Ralf Jung, and Jacques Henri-Jourdan. This version is known to compile with: - - Coq 8.5pl3 and Coq 8.6 + - Coq 8.5pl3 / 8.6 ## Building Instructions -Run `make` to build the full development. +Run `make` to build the full development. Run `make install` to install the library. diff --git a/build/opam-pins.sh b/build/opam-pins.sh index 669cd99b833df5259808f3b8f3fae1f96f466271..5291cb234701dbaba66e19717a4ef242fc9e83e8 100755 --- a/build/opam-pins.sh +++ b/build/opam-pins.sh @@ -4,18 +4,23 @@ set -e ## Usage: ## ./opam-pins.sh < opam.pins +if ! which curl >/dev/null; then + echo "opam-pins needs curl. Please install curl and try again." + exit 1 +fi + # Process stdin while read PACKAGE URL HASH; do if echo "$URL" | egrep '^https://gitlab\.mpi-sws\.org' > /dev/null; then echo "[opam-pins] Recursing into $URL" # an MPI URL -- try doing recursive pin processing - curl -f "$URL/raw/$HASH" 2> /dev/null | "$0" + curl -f "$URL/raw/$HASH/opam.pins" 2>/dev/null | "$0" fi if opam pin list | fgrep "$PACKAGE.dev.$HASH " > /dev/null; then echo "[opam-pins] $PACKAGE already at commit $HASH" else echo "[opam-pins] Applying pin: $PACKAGE -> $URL#$HASH" opam pin add "$PACKAGE.dev.$HASH" "$URL#$HASH" -k git -y -n + echo fi - echo done diff --git a/opam b/opam index 6cf1701d743143f9073b4f9d21348828922c5155..2b5cdbcbcae3fc8af175b258cb6a6122f7e6f836 100644 --- a/opam +++ b/opam @@ -12,5 +12,5 @@ build: [ install: [make "install"] remove: [ "sh" "-c" "rm -rf '%{lib}%/coq/user-contrib/coq-stdpp'" ] depends: [ - "coq" { ((>= "8.6" & < "8.7~") | (= "dev"))} + "coq" { ((>= "8.5.3" & < "8.7~") | (= "dev"))} ]