Skip to content

Commit 1e3a6b0

Browse files
committed
Use opam2
1 parent 61c392d commit 1e3a6b0

File tree

2 files changed

+91
-41
lines changed

2 files changed

+91
-41
lines changed

.travis-docker.sh

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ echo POST_INSTALL_HOOK="$POST_INSTALL_HOOK" >> env.list
2424
echo $EXTRA_ENV >> env.list
2525

2626
# build a local image to trigger any ONBUILDs
27-
echo FROM ${hub_user}/opam:${DISTRO}_ocaml-${OCAML_VERSION} > Dockerfile
27+
echo FROM ${hub_user}/opam2:${DISTRO} > Dockerfile
2828
echo WORKDIR /home/opam/opam-repository >> Dockerfile
2929

3030
if [ -n "$BASE_REMOTE" ]; then
@@ -42,6 +42,7 @@ if [ $fork_user != $default_user -o $fork_branch != $default_branch ]; then
4242
>> Dockerfile
4343
fi
4444

45+
echo EXPORT OPAMYES=1
4546
echo RUN opam update -u -y >> Dockerfile
4647
echo RUN opam depext -ui travis-opam >> Dockerfile
4748
echo RUN cp '~/.opam/$(opam switch show)/bin/ci-opam' "~/" >> Dockerfile

.travis-ocaml.sh

+89-40
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ fi
2828

2929
# the ocaml version to test
3030
OCAML_VERSION=${OCAML_VERSION:-latest}
31-
OPAM_VERSION=${OPAM_VERSION:-1.2.2}
31+
OPAM_VERSION=${OPAM_VERSION:-2.0.0}
3232
OPAM_INIT=${OPAM_INIT:-true}
3333

3434
# the base opam repository to use for bootstrapping and catch-all namespace
@@ -43,42 +43,11 @@ UBUNTU_TRUSTY=${UBUNTU_TRUSTY:-"0"}
4343
# Install XQuartz on OSX
4444
INSTALL_XQUARTZ=${INSTALL_XQUARTZ:-"true"}
4545

46-
install_on_linux () {
47-
case "$OCAML_VERSION,$OPAM_VERSION" in
48-
3.12,1.2.2)
49-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=3.12.1
50-
ppa=avsm/ocaml42+opam12 ;;
51-
4.00,1.2.2)
52-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.00.1
53-
ppa=avsm/ocaml42+opam12 ;;
54-
4.01,1.2.2)
55-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.01.0
56-
ppa=avsm/ocaml42+opam12 ;;
57-
4.02,1.1.2) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system}; ppa=avsm/ocaml42+opam11 ;;
58-
4.02,1.2.0) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system}; ppa=avsm/ocaml42+opam120 ;;
59-
4.02,1.2.1) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system}; ppa=avsm/ocaml42+opam121 ;;
60-
4.02,1.2.2) OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system}; ppa=avsm/ocaml42+opam12 ;;
61-
4.03,1.2.2)
62-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.03.0
63-
ppa=avsm/ocaml42+opam12 ;;
64-
4.04,1.2.2)
65-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.04.2
66-
ppa=avsm/ocaml42+opam12 ;;
67-
4.05,1.2.2)
68-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.05.0
69-
ppa=avsm/ocaml42+opam12 ;;
70-
4.06,1.2.2)
71-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.06.1
72-
ppa=avsm/ocaml42+opam12 ;;
73-
4.07,1.2.2)
74-
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.07.0
75-
ppa=avsm/ocaml42+opam12 ;;
76-
*) echo "Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION"
77-
echo "(An unset OCAML_VERSION used to default to \"latest\", but you must now specify it."
78-
echo "Try something like \"OCAML_VERSION=3.12\", \"OCAML_VERSION=4.07\", or see README-travis.md at https://github.com/ocaml/ocaml-ci-scripts )"
79-
exit 1 ;;
80-
esac
46+
install_opam2 () {
47+
sudo wget https://github.com/ocaml/opam/releases/download/2.0.0-rc3/opam-2.0.0-rc3-x86_64-linux -O /usr/local/bin/opam ;;
48+
}
8149

50+
install_ppa () {
8251
sudo add-apt-repository --yes ppa:${ppa}
8352
sudo apt-get update -qq
8453
if [ "${INSTALL_LOCAL:=0}" = 0 ] ; then
@@ -96,6 +65,78 @@ install_on_linux () {
9665
else
9766
sudo apt-get install -y opam
9867
fi
68+
}
69+
70+
install_on_linux () {
71+
case "$OCAML_VERSION,$OPAM_VERSION" in
72+
3.12,1.2.2)
73+
install_ppa avsm/ocaml42+opam12
74+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=3.12.1 ;;
75+
3.12,2.0.0)
76+
install_opam2 ()
77+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=3.12.1 ;;
78+
4.00,1.2.2)
79+
install_pp avsm/ocaml42+opam12
80+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.00.1 ;;
81+
4.00,2.0.0)
82+
install_opam2 ()
83+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.00.1 ;;
84+
4.01,1.2.2)
85+
install_ppa avsm/ocaml42+opam12
86+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.01.0 ;;
87+
4.02,2.0.0)
88+
install_opam2 ()
89+
OCAML_FULL_VERSION=4.01.0 OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
90+
4.02,1.1.2)
91+
install_ppa avsm/ocaml42+opam11
92+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
93+
4.02,1.2.0)
94+
install_ppa avsm/ocaml42+opam120
95+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
96+
4.02,1.2.1)
97+
install_ppa avsm/ocaml42+opam121
98+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
99+
4.02,1.2.2)
100+
install_ppa avsm/ocaml42+opam12
101+
OCAML_FULL_VERSION=4.02.3; OPAM_SWITCH=${OPAM_SWITCH:-system} ;;
102+
4.02,2.0.0)
103+
install_opam2 ()
104+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.02.3 ;;
105+
4.03,1.2.2)
106+
install_ppa avsm/ocaml42+opam12
107+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.03.0 ;;
108+
4.03,2.0.0)
109+
install_opam2 ()
110+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.03.0 ;;
111+
4.04,1.2.2)
112+
install_ppa avsm/ocaml42+opam12
113+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.04.2 ;;
114+
4.04,2.0.0)
115+
install_opam2 ()
116+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.04.2 ;;
117+
4.05,1.2.2)
118+
install_ppa avsm/ocaml42+opam12
119+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.05.0 ;;
120+
4.05,2.0.0)
121+
install_opam2 ()
122+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.05.0 ;;
123+
4.06,1.2.2)
124+
install_ppa avsm/ocaml42+opam12
125+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.06.1 ;;
126+
4.06,2.0.0)
127+
install_opam2 ()
128+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.06.1 ;;
129+
4.07,1.2.2)
130+
install_ppa avsm/ocaml42+opam12
131+
OCAML_VERSION=4.02; OCAML_FULL_VERSION=4.07.0 ;;
132+
4.07,2.0.0)
133+
install_opam2 ()
134+
OCAML_VERSION=4.01; OCAML_FULL_VERSION=4.07.0 ;;
135+
*) echo "Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION"
136+
echo "(An unset OCAML_VERSION used to default to \"latest\", but you must now specify it."
137+
echo "Try something like \"OCAML_VERSION=3.12\", \"OCAML_VERSION=4.07\", or see README-travis.md at https://github.com/ocaml/ocaml-ci-scripts )"
138+
exit 1 ;;
139+
esac
99140

100141
TRUSTY="deb mirror://mirrors.ubuntu.com/mirrors.txt trusty main restricted universe"
101142

@@ -141,23 +182,31 @@ install_on_osx () {
141182
brew upgrade python || true
142183
case "$OCAML_VERSION,$OPAM_VERSION" in
143184
3.12,1.2.2) OCAML_FULL_VERSION=3.12.1; brew install opam ;;
185+
3.12,2.0.0) OCAML_FULL_VERSION=3.12.1; brew install opam@2 ;;
144186
4.00,1.2.2) OCAML_FULL_VERSION=4.00.1; brew install opam ;;
187+
4.00,2.0.0) OCAML_FULL_VERSION=4.00.1; brew install opam@2 ;;
145188
4.01,1.2.2) OCAML_FULL_VERSION=4.01.0; brew install opam ;;
189+
4.01,2.0.0) OCAML_FULL_VERSION=4.01.0; brew install opam@2 ;;
146190
4.02,1.2.2) OCAML_FULL_VERSION=4.02.3; brew install opam ;;
147-
4.02,1.3.0) OCAML_FULL_VERSION=4.02.3; brew install opam --HEAD ;;
191+
4.02,2.0.0) OCAML_FULL_VERSION=4.02.3; brew install opam@2 ;;
148192
4.03,1.2.2) OCAML_FULL_VERSION=4.03.0; brew install opam ;;
193+
4.03,2.0.0) OCAML_FULL_VERSION=4.03.0; brew install opam@2 ;;
149194
4.04,1.2.2) OCAML_FULL_VERSION=4.04.2; brew install opam ;;
195+
4.04,2.0.0) OCAML_FULL_VERSION=4.04.2; brew install opam@2 ;;
150196
4.05,1.2.2) OCAML_FULL_VERSION=4.05.0; brew install opam ;;
197+
4.05,2.0.0) OCAML_FULL_VERSION=4.05.0; brew install opam@2 ;;
151198
4.06,1.2.2) OCAML_FULL_VERSION=4.06.1; brew install opam ;;
199+
4.06,2.0.0) OCAML_FULL_VERSION=4.06.1; brew install opam@2 ;;
152200
4.07,1.2.2) OCAML_FULL_VERSION=4.07.0; OPAM_SWITCH=${OPAM_SWITCH:-system}; brew install ocaml; brew install opam ;;
201+
4.07,2.0.0) OCAML_FULL_VERSION=4.07.0; OPAM_SWITCH=${OPAM_SWITCH:-system}; brew install ocaml; brew install opam@2 ;;
153202
*) echo "Unknown OCAML_VERSION=$OCAML_VERSION OPAM_VERSION=$OPAM_VERSION"
154203
exit 1 ;;
155204
esac
156205
}
157206

158-
case $TRAVIS_OS_NAME in
159-
osx) install_on_osx ;;
160-
linux) install_on_linux ;;
207+
case $TRAVIS_OS_NAME with
208+
osx) install_on_osx ;;
209+
linux) install_on_linux ;;
161210
esac
162211

163212
OPAM_SWITCH=${OPAM_SWITCH:-$OCAML_FULL_VERSION}

0 commit comments

Comments
 (0)