Merge branch 'fix-ci' into 'dev'

Try to fix CI again

See merge request ligolang/ligo!71
This commit is contained in:
John David Pressman 2019-09-10 02:38:18 +00:00
commit 1cda8ca097
23 changed files with 40 additions and 90 deletions

2
.gitignore vendored
View File

@ -1,5 +1,5 @@
/_build/ /_build/
/dune-project dune-project
*~ *~
cache/* cache/*
Version.ml Version.ml

View File

@ -9,7 +9,7 @@ stages:
- test - test
.website_build: &website_build .website_build: &website_build
stage: test # TODO DODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODO restore to build_and_deploy_website stage: build_and_deploy_website
image: node:8 image: node:8
before_script: before_script:
- scripts/install_native_dependencies.sh - scripts/install_native_dependencies.sh
@ -18,18 +18,12 @@ stages:
- eval $(opam config env) - eval $(opam config env)
- scripts/setup_switch.sh - scripts/setup_switch.sh
- eval $(opam config env) - eval $(opam config env)
- scripts/debug_show_versions.sh || true - scripts/setup_repos.sh
# install deps for internal documentation # install deps for internal documentation
- opam install -y odoc
# - vendors/opam-repository-tools/rewrite-local-opam-repository.sh
# - opam repository add localrepo "file://$PWD/vendors/ligo-opam-repository-local-generated/"
- scripts/install_vendors_deps.sh - scripts/install_vendors_deps.sh
- opam install -y odoc
- scripts/build_ligo_local.sh - scripts/build_ligo_local.sh
# - opam install -y --build-test --deps-only ./src/
# - dune build -p ligo
# TODO: also try instead from time to time:
#- (cd ./src/; dune build -p ligo)
# build with odoc # build with odoc
- dune build @doc - dune build @doc
@ -67,14 +61,10 @@ stages:
- scripts/install_native_dependencies.sh - scripts/install_native_dependencies.sh
- scripts/install_opam.sh # TODO: or scripts/install_build_environment.sh ? - scripts/install_opam.sh # TODO: or scripts/install_build_environment.sh ?
- export PATH="/usr/local/bin${PATH:+:}${PATH:-}" - export PATH="/usr/local/bin${PATH:+:}${PATH:-}"
- echo "$PATH"; which ocaml || true
- eval $(opam config env) - eval $(opam config env)
- echo "$PATH"; which ocaml || true
- scripts/setup_switch.sh - scripts/setup_switch.sh
- echo "$PATH"; which ocaml || true
- eval $(opam config env) - eval $(opam config env)
- echo "$PATH"; which ocaml || true - scripts/setup_repos.sh
- scripts/debug_show_versions.sh || true
local-dune-job: local-dune-job:
<<: *before_script <<: *before_script
@ -115,7 +105,7 @@ remote-repo-job:
# Run a docker build without publishing to the registry # Run a docker build without publishing to the registry
build-current-docker-image: build-current-docker-image:
stage: test # TODO DODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODO restore to build_docker stage: build_docker
<<: *docker <<: *docker
<<: *docker_build <<: *docker_build
except: except:
@ -125,7 +115,7 @@ build-current-docker-image:
# When a MR/PR is merged to dev # When a MR/PR is merged to dev
# take the previous build and publish it to Docker Hub # take the previous build and publish it to Docker Hub
build-and-publish-latest-docker-image: build-and-publish-latest-docker-image:
stage: test # TODO DODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODODO restore to build_and_deploy_docker stage: build_and_deploy_docker
<<: *docker <<: *docker
<<: *docker_build <<: *docker_build
after_script: after_script:
@ -133,9 +123,6 @@ build-and-publish-latest-docker-image:
- docker push $LIGO_REGISTRY_IMAGE:next - docker push $LIGO_REGISTRY_IMAGE:next
only: only:
- dev - dev
- refactor/new-tezos-deps-ci
- refactor/new-tezos-deps-cicliexe
# Pages are deployed from both master & dev, be careful not to override 'next' # Pages are deployed from both master & dev, be careful not to override 'next'
# in case something gets merged into 'dev' while releasing. # in case something gets merged into 'dev' while releasing.
@ -144,5 +131,3 @@ pages:
only: only:
- master - master
- dev - dev
- refactor/new-tezos-deps-ci
- refactor/new-tezos-deps-cicliexe

View File

@ -10,20 +10,14 @@ install-deps:
scripts/install_build_environment.sh # TODO: or scripts/install_opam.sh ? scripts/install_build_environment.sh # TODO: or scripts/install_opam.sh ?
build-deps: build-deps:
echo aa
export PATH="/usr/local/bin$${PATH:+:}$${PATH:-}" export PATH="/usr/local/bin$${PATH:+:}$${PATH:-}"
# Create opam dev switch locally for use with Ligo, add merlin/etc # Create opam dev switch locally for use with Ligo, add merlin/etc
if [ -n "`opam switch show | grep -P ".+/ligo"`" ]; if [ -n "`opam switch show | grep -P ".+/ligo"`" ];
then :; else scripts/setup_dev_switch.sh; then :; else scripts/setup_dev_switch.sh;
fi fi
echo bb
eval $$(opam config env) eval $$(opam config env)
echo cc
# Install OCaml build dependencies for Ligo # Install OCaml build dependencies for Ligo
scripts/install_vendors_deps.sh scripts/install_vendors_deps.sh
echo dd
scripts/install_ligo_with_dependencies.sh # TODO: rename & cleanup
echo ee
build: build-deps build: build-deps
export PATH="/usr/local/bin$${PATH:+:}$${PATH:-}" export PATH="/usr/local/bin$${PATH:+:}$${PATH:-}"

View File

@ -1,6 +1,5 @@
# We could use one of the nomadiclab's docker images as a base instead # At the moment, this really means 4.07.1
# We're using 4.06 instead of 4.06.1, if this causes problems build a custom 4.06.1 image instead FROM ocaml/opam2:4.07
FROM ocaml/opam2:4.06
USER root USER root
@ -23,18 +22,14 @@ RUN sh scripts/install_native_dependencies.sh
# TODO: or scripts/install_build_environment.sh ? # TODO: or scripts/install_build_environment.sh ?
RUN sh scripts/install_opam.sh RUN sh scripts/install_opam.sh
# Creat opam switch # Add tezos repository
RUN sh scripts/setup_switch.sh RUN sh scripts/setup_repos.sh
RUN opam update RUN opam update
# Install ligo # Install ligo
RUN sh scripts/install_vendors_deps.sh RUN sh scripts/install_vendors_deps.sh
RUN sh -c pwd RUN opam install -y ./src
RUN sh scripts/build_ligo_local.sh
RUN sh -c pwd
RUN ls -l
RUN sh -c 'ls -l /ligo/_build/default/src/bin/cli.exe || true'
# Use the ligo binary as a default command # Use the ligo binary as a default command
ENTRYPOINT [ "/ligo/_build/default/src/bin/cli.exe" ] ENTRYPOINT [ "/home/opam/.opam/4.07/bin/ligo" ]

View File

@ -2,7 +2,7 @@
set -e set -e
eval $(opam config env) eval $(opam config env)
dune build src # TODO: make it work with -p ligo dune build -p ligo
# TODO: also try instead from time to time: # TODO: also try instead from time to time:
#- (cd ./src/; dune build -p ligo) #- (cd ./src/; dune build -p ligo)

View File

@ -1,8 +0,0 @@
#!/bin/sh
set -e
echo "$PATH"
opam --version
printf '' | ocaml
opam switch

View File

@ -1,5 +0,0 @@
#!/bin/sh
set -e
cd src
opam install . --yes

View File

@ -2,11 +2,5 @@
set -e set -e
# Install local dependencies # Install local dependencies
opam install -y ./vendors/ligo-utils/simple-utils opam install -y --deps-only $(find src vendors -name \*.opam)
opam install -y ./vendors/ligo-utils/tezos-protocol-alpha opam install -y $(find vendors -name \*.opam)
opam install -y ./vendors/ligo-utils/tezos-protocol-alpha-parameters
opam install -y ./vendors/ligo-utils/memory-proto-alpha
opam install -y ./vendors/ligo-utils/tezos-utils/michelson-parser
opam install -y ./vendors/ligo-utils/tezos-utils
opam install -y ./vendors/ligo-utils/proto-alpha-utils
opam install -y getopt ppx_deriving menhir

View File

@ -2,6 +2,7 @@
set -e set -e
"$(dirname "$0")"/setup_switch.sh "$(dirname "$0")"/setup_switch.sh
"$(dirname "$0")"/setup_repos.sh
opam install -y ocp-indent tuareg merlin alcotest-lwt crowbar opam install -y ocp-indent tuareg merlin alcotest-lwt crowbar
opam -y user-setup install opam -y user-setup install

6
scripts/setup_repos.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
set -e
set -x
eval $(opam config env)
opam repo add tezos-opam-repository https://gitlab.com/nomadic-labs/tezos-opam-repository.git

View File

@ -4,12 +4,3 @@ set -x
printf '' | opam switch create . 4.07.1 # toto ocaml-base-compiler.4.06.1 printf '' | opam switch create . 4.07.1 # toto ocaml-base-compiler.4.06.1
eval $(opam config env) eval $(opam config env)
# Add Tezos opam repository
opam repo add tezos-opam-repository https://gitlab.com/nomadic-labs/tezos-opam-repository.git
# TODO: move this to install_vendor_deps.sh
# Pin the versions of some dependencies
opam pin -y zarith 1.7
opam pin -y ipaddr 3.1.0
opam pin -y macaddr 3.1.0

View File

@ -1,2 +0,0 @@
(lang dune 1.6)
(using menhir 2.0)

View File

@ -28,7 +28,7 @@
(targets parser_generated.mly) (targets parser_generated.mly)
(deps partial_parser.mly pre_parser.mly) (deps partial_parser.mly pre_parser.mly)
(action (system "cat pre_parser.mly partial_parser.mly > parser_generated.mly")) (action (system "cat pre_parser.mly partial_parser.mly > parser_generated.mly"))
(mode promote-until-clean) (mode (promote (until-clean) (only *)))
) )
(rule (rule
@ -43,7 +43,7 @@
(targets ast_generated.ml) (targets ast_generated.ml)
(deps generator.exe) (deps generator.exe)
(action (system "./generator.exe ast > ast_generated.ml")) (action (system "./generator.exe ast > ast_generated.ml"))
(mode promote-until-clean) (mode (promote (until-clean) (only *)))
) )
;; Generating Generator ;; Generating Generator
@ -57,4 +57,10 @@
lex lex
) )
(modules generator) (modules generator)
(preprocess
(pps
ppx_let
ppx_deriving.std
)
)
) )

View File

@ -27,16 +27,16 @@
; (targets Parser.exe) ; (targets Parser.exe)
; (deps ParserMain.exe) ; (deps ParserMain.exe)
; (action (copy ParserMain.exe Parser.exe)) ; (action (copy ParserMain.exe Parser.exe))
; (mode promote-until-clean)) ; (mode (promote (until-clean) (only *))))
;(rule ;(rule
; (targets Lexer.exe) ; (targets Lexer.exe)
; (deps LexerMain.exe) ; (deps LexerMain.exe)
; (action (copy LexerMain.exe Lexer.exe)) ; (action (copy LexerMain.exe Lexer.exe))
; (mode promote-until-clean)) ; (mode (promote (until-clean) (only *))))
(rule (rule
(targets Version.ml) (targets Version.ml)
(action (action
(progn (run "sh" "-c" "printf 'let version = \"%s\"'\\\\n \"$(echo UNKNOWN)\" > Version.ml"))) (progn (run "sh" "-c" "printf 'let version = \"%s\"'\\\\n \"$(echo UNKNOWN)\" > Version.ml")))
(mode promote-until-clean)) (mode (promote (until-clean) (only *))))

View File

@ -25,4 +25,4 @@
(targets Version.ml) (targets Version.ml)
(action (action
(progn (run "sh" "-c" "printf 'let version = \"%s\"'\\\\n \"$(echo UNKNOWN)\" > Version.ml"))) (progn (run "sh" "-c" "printf 'let version = \"%s\"'\\\\n \"$(echo UNKNOWN)\" > Version.ml")))
(mode promote-until-clean)) (mode (promote (until-clean) (only *))))

View File

@ -1,2 +0,0 @@
(lang dune 1.11)
(name tezos-memory-proto-alpha)

View File

@ -1 +0,0 @@
(lang dune 1.6)

View File

@ -18,7 +18,9 @@ depends: [
"ezjsonm" "ezjsonm"
"hex" "hex"
"hidapi" "hidapi"
"ipaddr" # opam does not handle tezos' constraints well (why?)
"ipaddr" { >= "3.1.0" & < "4.0.0" }
"macaddr" { >= "3.1.0" & < "4.0.0" }
"irmin" "irmin"
"js_of_ocaml" "js_of_ocaml"
"lwt" "lwt"
@ -31,7 +33,8 @@ depends: [
"stdio" "stdio"
"uri" "uri"
"uutf" "uutf"
"zarith" # tezos does not constrain their required version
"zarith" {= "1.7"}
"ocplib-json-typed" "ocplib-json-typed"
"ocplib-json-typed-bson" "ocplib-json-typed-bson"
"tezos-crypto" "tezos-crypto"

View File

@ -1 +0,0 @@
(lang dune 1.6)

View File

@ -1,2 +0,0 @@
(lang dune 1.10)
(name tezos-protocol-alpha-parameters)

View File

@ -1,2 +0,0 @@
(lang dune 1.10)
(name tezos-embedded-protocol-alpha)

View File

@ -1 +0,0 @@
(lang dune 1.6)

View File

@ -1 +0,0 @@
(lang dune 1.6)