Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
4.6 kB · 152 lines
YAML
at develop
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153stages: - check - build - trigger
.download_script: &download_script - curl --location --header "PRIVATE-TOKEN:$ACCESS_TOKEN" --silent https://gitlab.com/api/v4/snippets/1796163/raw | tr -d '\r' > download.sh
variables: # Vendor solver locations GECODE_ROOT: "$CI_PROJECT_DIR/vendor/gecode" GUROBI_ROOT: "$CI_PROJECT_DIR/vendor/gurobi" CPLEX_ROOT: "$CI_PROJECT_DIR/vendor/CPLEX_Studio/cplex" OSICBC_ROOT: "$CI_PROJECT_DIR/vendor/cbc" # CCache settings CCACHE_DIR: "$CI_PROJECT_DIR/.ccache" CCACHE_MAXSIZE: "100M"
# ----------- Quick check -----------
check:format: stage: check image: dekker1/minibuild:clang-format script: - mkdir -p build - cd build - cmake -GNinja .. -DCLANG_FORMAT_EXECUTABLE="run-clang-format" -DCLANG_FORMAT_FLAGS="--color always" - cmake --build . --target format tags: [linux, docker]
# ----------- Build MiniZinc -----------
.build_template: &build_definition stage: build before_script: *download_script script: - sh download.sh vendor master vendor:${MZNARCH} vendor.zip - unzip -q vendor.zip - mkdir -p build - cd build - cmake -G"$CMAKE_ARCH" -DCMAKE_BUILD_TYPE=Release -v .. -DBUILD_REF=$CI_PIPELINE_ID -DUSE_PROPRIETARY=OFF -DCMAKE_INSTALL_PREFIX="$CI_PROJECT_DIR/minizinc" - cmake --build . --config Release - cmake --build . --config Release --target install artifacts: paths: [minizinc/] cache: key: "$CI_JOB_NAME" paths: [.ccache, vendor.zip*]
build:linux: <<: *build_definition image: dekker1/minibuild:cpp variables: MZNARCH: "linux" CMAKE_ARCH: "Ninja" tags: [linux, docker]
build:musl: <<: *build_definition image: dekker1/minibuild:alpine variables: MZNARCH: "musl" CMAKE_ARCH: "Ninja" tags: [linux, docker]
build:osx: <<: *build_definition stage: build variables: MZNARCH: "osx" CMAKE_ARCH: "Ninja" tags: [osx, cmake, cpp]
build:win64: stage: build variables: MZNARCH: "win64" CMAKE_ARCH: "Visual Studio 15 2017 Win64" before_script: - curl -o download.sh --location --header "PRIVATE-TOKEN:%ACCESS_TOKEN%" --silent https://gitlab.com/api/v4/snippets/1796163/raw - dos2unix download.sh script: - sh download.sh vendor master vendor:%MZNARCH% vendor.zip - unzip -q vendor.zip - if not exist "build" mkdir build - cd build - cmake -G"%CMAKE_ARCH%" .. -DBUILD_REF=%CI_PIPELINE_ID% -DUSE_PROPRIETARY=OFF -DCMAKE_INSTALL_PREFIX="%CI_PROJECT_DIR%/minizinc" - cmake --build . --config Release - cmake --build . --config Release --target install artifacts: paths: [minizinc/] cache: key: "win64" paths: [vendor.zip*] tags: [win64, cmake, cpp]
build:wasm_complete: image: trzeci/emscripten stage: build variables: MZNARCH: "wasm" CMAKE_ARCH: "Unix Makefiles" tags: [docker] before_script: *download_script script: - sh download.sh vendor master vendor:wasm vendor.zip - unzip -q vendor.zip - mkdir -p build - cd build - emconfigure cmake -G"$CMAKE_ARCH" -DCMAKE_FIND_ROOT_PATH="/" -DGECODE_ROOT="$GECODE_ROOT" -DOSICBC_ROOT="$OSICBC_ROOT" -DCMAKE_BUILD_TYPE=MinSizeRel -DEMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES=1 -v .. -DBUILD_REF=$CI_PIPELINE_ID -DUSE_PROPRIETARY=OFF -DCMAKE_INSTALL_PREFIX="$CI_PROJECT_DIR/minizinc" - cmake --build . --config MinSizeRel - cmake --build . --config MinSizeRel --target install artifacts: paths: [minizinc/] cache: key: "$CI_JOB_NAME" paths: [.ccache, vendor.zip*] when: manual
build:wasm_minimal: image: trzeci/emscripten stage: build variables: MZNARCH: "wasm" CMAKE_ARCH: "Unix Makefiles" tags: [docker] before_script: *download_script script: - sh download.sh vendor master vendor:wasm vendor.zip - unzip -q vendor.zip - mkdir -p build - cd build - emconfigure cmake -G"$CMAKE_ARCH" -DCMAKE_BUILD_TYPE=MinSizeRel -DEMSCRIPTEN_GENERATE_BITCODE_STATIC_LIBRARIES=1 -v .. -DBUILD_REF=$CI_PIPELINE_ID -DUSE_PROPRIETARY=OFF -DCMAKE_INSTALL_PREFIX="$CI_PROJECT_DIR/minizinc" - cmake --build . --config MinSizeRel - cmake --build . --config MinSizeRel --target install artifacts: paths: [minizinc/] cache: key: "$CI_JOB_NAME" paths: [.ccache, vendor.zip*] when: manual
# ----------- Trigger FindMUS pipeline -----------
trigger:findmus: stage: trigger image: dekker1/minibuild:package script: - "curl --request POST --form token=$TRIGGER --form ref=master https://gitlab.com/api/v4/projects/minizinc%2FFindMUS/trigger/pipeline" dependencies: [] tags: [linux, docker] only: [develop]