2019-05-27 17:06:18 +02:00
|
|
|
# TODO: remove this as submodules aren't used anymore.
|
2019-05-14 18:16:14 +02:00
|
|
|
variables:
|
2019-05-14 18:17:39 +02:00
|
|
|
GIT_SUBMODULE_STRATEGY: recursive
|
2019-05-14 18:16:14 +02:00
|
|
|
|
2019-05-27 12:06:56 +02:00
|
|
|
stages:
|
2019-05-27 18:35:52 +02:00
|
|
|
- build_docker
|
|
|
|
- build_and_deploy_docker
|
|
|
|
- build_and_deploy_website
|
2019-05-27 12:21:01 +02:00
|
|
|
- test
|
|
|
|
|
2019-06-05 16:46:00 +02:00
|
|
|
.website_build: &website_build
|
2019-09-07 13:52:00 -07:00
|
|
|
stage: build_and_deploy_website
|
2019-06-05 16:46:00 +02:00
|
|
|
image: node:8
|
|
|
|
before_script:
|
2019-06-07 11:56:03 +02:00
|
|
|
- scripts/install_native_dependencies.sh
|
2019-09-06 04:02:18 +02:00
|
|
|
- scripts/install_opam.sh # TODO: or scripts/install_build_environment.sh ?
|
2019-06-07 11:56:03 +02:00
|
|
|
- export PATH="/usr/local/bin${PATH:+:}${PATH:-}"
|
|
|
|
- eval $(opam config env)
|
2019-09-06 04:02:18 +02:00
|
|
|
- scripts/setup_switch.sh
|
2019-06-07 11:56:03 +02:00
|
|
|
- eval $(opam config env)
|
2019-09-07 13:52:00 -07:00
|
|
|
- scripts/setup_repos.sh
|
2019-06-07 11:56:03 +02:00
|
|
|
|
|
|
|
# install deps for internal documentation
|
2019-09-07 14:25:32 +02:00
|
|
|
- scripts/install_vendors_deps.sh
|
2019-09-07 13:52:00 -07:00
|
|
|
- opam install -y odoc
|
2019-09-07 14:25:32 +02:00
|
|
|
- scripts/build_ligo_local.sh
|
2019-06-07 11:56:03 +02:00
|
|
|
|
|
|
|
# build with odoc
|
|
|
|
- dune build @doc
|
|
|
|
|
|
|
|
# npm
|
2019-06-05 16:46:00 +02:00
|
|
|
- cd gitlab-pages/website
|
|
|
|
- npm install
|
|
|
|
script:
|
|
|
|
- npm run version next
|
|
|
|
- npm run build
|
2019-06-10 23:09:34 +02:00
|
|
|
# move internal odoc documentation to the website folder
|
2019-06-20 20:21:22 +02:00
|
|
|
- mkdir -p build/ligo/
|
|
|
|
- mv ../../_build/default/_doc/_html/ build/ligo/odoc
|
|
|
|
- pwd # for debug
|
|
|
|
- ls build/ligo/ # for debug
|
2019-06-06 15:45:45 +02:00
|
|
|
after_script:
|
2019-06-07 11:56:03 +02:00
|
|
|
- cp -r gitlab-pages/website/build/ligo public
|
2019-06-05 16:46:00 +02:00
|
|
|
artifacts:
|
|
|
|
paths:
|
|
|
|
- public
|
2019-05-27 12:06:56 +02:00
|
|
|
|
|
|
|
.docker: &docker
|
|
|
|
image: docker:1.11
|
|
|
|
services:
|
|
|
|
- docker:dind
|
2019-05-27 16:31:57 +02:00
|
|
|
|
2019-05-28 18:41:18 +02:00
|
|
|
|
2019-05-24 00:48:11 +02:00
|
|
|
.before_script: &before_script
|
|
|
|
before_script:
|
|
|
|
# Install dependencies
|
|
|
|
# rsync is needed by opam to sync a package installed from a local directory with the copy in ~/.opam
|
2019-05-28 20:54:07 +02:00
|
|
|
- scripts/install_native_dependencies.sh
|
2019-09-06 04:02:18 +02:00
|
|
|
- scripts/install_opam.sh # TODO: or scripts/install_build_environment.sh ?
|
2019-05-24 00:48:11 +02:00
|
|
|
- export PATH="/usr/local/bin${PATH:+:}${PATH:-}"
|
|
|
|
- eval $(opam config env)
|
2019-09-06 04:02:18 +02:00
|
|
|
- scripts/setup_switch.sh
|
|
|
|
- eval $(opam config env)
|
2019-09-07 13:52:00 -07:00
|
|
|
- scripts/setup_repos.sh
|
2019-05-14 16:37:29 +02:00
|
|
|
|
2019-06-06 17:59:03 +02:00
|
|
|
local-dune-job:
|
2019-05-24 00:48:11 +02:00
|
|
|
<<: *before_script
|
2019-05-27 12:06:56 +02:00
|
|
|
stage: test
|
2019-05-15 15:17:04 +02:00
|
|
|
script:
|
2019-09-06 04:02:18 +02:00
|
|
|
- scripts/install_vendors_deps.sh
|
|
|
|
- scripts/build_ligo_local.sh
|
2019-05-15 16:35:46 +02:00
|
|
|
- dune build @ligo-test
|
2019-05-15 15:17:04 +02:00
|
|
|
|
2019-06-06 17:59:03 +02:00
|
|
|
remote-repo-job:
|
2019-05-24 00:48:11 +02:00
|
|
|
<<: *before_script
|
2019-05-27 12:06:56 +02:00
|
|
|
stage: test
|
2019-05-14 16:37:29 +02:00
|
|
|
script:
|
|
|
|
# Add repository
|
2019-05-27 11:30:00 +02:00
|
|
|
- opam repository add ligo-repository https://gitlab.com/ligolang/ligo.git
|
2019-05-14 16:37:29 +02:00
|
|
|
- eval $(opam config env)
|
|
|
|
- opam install -y ligo
|
|
|
|
# Used in the IDE
|
|
|
|
#- opam install -y user-setup
|
|
|
|
#- opam install -y merlin
|
|
|
|
#- opam install -y ocp-indent
|
|
|
|
#- opam user-setup install
|
2019-05-28 18:41:18 +02:00
|
|
|
only:
|
|
|
|
- master
|
2019-05-24 00:13:31 +02:00
|
|
|
|
2019-09-06 04:02:18 +02:00
|
|
|
# TODO: uncomment this
|
|
|
|
|
2019-09-07 13:30:46 +02:00
|
|
|
# Run a docker build without publishing to the registry
|
|
|
|
build-current-docker-image:
|
2019-09-07 13:52:00 -07:00
|
|
|
stage: build_docker
|
2019-09-07 13:30:46 +02:00
|
|
|
<<: *docker
|
2019-09-25 13:11:10 +02:00
|
|
|
script:
|
2019-09-25 13:19:44 +02:00
|
|
|
- docker build -t $LIGO_REGISTRY_IMAGE:next -f ./docker/Dockerfile .
|
2019-09-25 13:11:10 +02:00
|
|
|
- sh scripts/test_cli.sh
|
2019-09-07 13:30:46 +02:00
|
|
|
except:
|
|
|
|
- master
|
|
|
|
- dev
|
2019-05-27 12:06:56 +02:00
|
|
|
|
2019-06-06 16:49:47 +02:00
|
|
|
# When a MR/PR is merged to dev
|
2019-05-27 12:06:56 +02:00
|
|
|
# take the previous build and publish it to Docker Hub
|
2019-06-06 17:59:03 +02:00
|
|
|
build-and-publish-latest-docker-image:
|
2019-09-07 13:52:00 -07:00
|
|
|
stage: build_and_deploy_docker
|
2019-05-27 12:06:56 +02:00
|
|
|
<<: *docker
|
2019-09-25 13:11:10 +02:00
|
|
|
script:
|
2019-09-25 13:19:44 +02:00
|
|
|
- docker build -t $LIGO_REGISTRY_IMAGE:next -f ./docker/Dockerfile .
|
2019-09-25 10:52:26 +02:00
|
|
|
- sh scripts/test_cli.sh
|
2019-09-25 13:19:44 +02:00
|
|
|
- docker login -u $LIGO_REGISTRY_USER -p $LIGO_REGISTRY_PASSWORD
|
2019-06-06 16:49:47 +02:00
|
|
|
- docker push $LIGO_REGISTRY_IMAGE:next
|
2019-05-27 18:47:10 +02:00
|
|
|
only:
|
2019-06-06 16:49:47 +02:00
|
|
|
- dev
|
2019-05-27 17:06:18 +02:00
|
|
|
|
2019-06-06 15:45:45 +02:00
|
|
|
# Pages are deployed from both master & dev, be careful not to override 'next'
|
|
|
|
# in case something gets merged into 'dev' while releasing.
|
2019-05-27 17:06:18 +02:00
|
|
|
pages:
|
2019-06-05 16:46:00 +02:00
|
|
|
<<: *website_build
|
2019-06-06 17:59:03 +02:00
|
|
|
only:
|
|
|
|
- master
|
|
|
|
- dev
|