Skip to content
Snippets Groups Projects
Commit 317dbb70 authored by Ralf Jung's avatar Ralf Jung
Browse files

set up CI and update Makefile

parent 3b2bc55d
No related branches found
No related tags found
No related merge requests found
Pipeline #15588 passed
image: ralfjung/opam-ci:opam2
stages:
- build
variables:
CPU_CORES: "10"
.template: &template
stage: build
tags:
- fp
script:
- git clone https://gitlab.mpi-sws.org/iris/ci.git ci -b opam2
- ci/buildjob
cache:
key: "$CI_JOB_NAME"
paths:
- opamroot/
only:
- master
- /^ci/
except:
- triggers
- schedules
## Build jobs
build-coq.8.9.0:
<<: *template
variables:
OPAM_PINS: "coq version 8.9.0"
TIMING_CONF: "coq-8.9.0"
tags:
- fp-timing
...@@ -8,12 +8,12 @@ all: Makefile.coq ...@@ -8,12 +8,12 @@ all: Makefile.coq
clean: Makefile.coq clean: Makefile.coq
+@make -f Makefile.coq clean +@make -f Makefile.coq clean
find theories $$(test -d tests && echo tests) \( -name "*.d" -o -name "*.vo" -o -name "*.aux" -o -name "*.cache" -o -name "*.glob" -o -name "*.vio" \) -print -delete find theories tests \( -name "*.d" -o -name "*.vo" -o -name "*.aux" -o -name "*.cache" -o -name "*.glob" -o -name "*.vio" \) -print -delete || true
rm -f Makefile.coq rm -f Makefile.coq
.PHONY: clean .PHONY: clean
# Create Coq Makefile. # Create Coq Makefile.
Makefile.coq: _CoqProject Makefile awk.Makefile Makefile.coq: _CoqProject Makefile
"$(COQBIN)coq_makefile" -f _CoqProject -o Makefile.coq "$(COQBIN)coq_makefile" -f _CoqProject -o Makefile.coq
# Install build-dependencies # Install build-dependencies
...@@ -28,21 +28,19 @@ build-dep: build-dep/opam phony ...@@ -28,21 +28,19 @@ build-dep: build-dep/opam phony
@# constraints. Otherwise, `opam upgrade` may well update some packages to versions @# constraints. Otherwise, `opam upgrade` may well update some packages to versions
@# that are incompatible with our build requirements. @# that are incompatible with our build requirements.
@# To achieve this, we create a fake opam package that has our build-dependencies as @# To achieve this, we create a fake opam package that has our build-dependencies as
@# dependencies, but does not actually install anything. @# dependencies, but does not actually install anything itself.
@# Reinstalling is needed with opam 1 in case the pin already exists, but the builddep @echo "# Pinning build-dep package." && \
@# package changed. if opam --version | grep "^1\." -q; then \
@BUILD_DEP_PACKAGE="$$(egrep "^name:" build-dep/opam | sed 's/^name: *"\(.*\)" */\1/')" && \ BUILD_DEP_PACKAGE="$$(egrep "^name:" build-dep/opam | sed 's/^name: *"\(.*\)" */\1/')" && \
echo "# Pinning build-dep package." && \ opam pin add -k path $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE".dev build-dep && \
opam pin add -k path $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE".dev build-dep && \ opam reinstall $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE"; \
((! opam --version | grep "^1\." > /dev/null) || ( \ else \
echo "# Reinstalling build-dep package." && \ opam install $(OPAMFLAGS) build-dep/; \
opam reinstall $(OPAMFLAGS) "$$BUILD_DEP_PACKAGE" \ fi
))
# Some files that do *not* need to be forwarded to Makefile.coq # Some files that do *not* need to be forwarded to Makefile.coq
Makefile: ; Makefile: ;
_CoqProject: ; _CoqProject: ;
awk.Makefile: ;
opam: ; opam: ;
# Phony wildcard targets # Phony wildcard targets
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment