-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitlab-ci.yml
112 lines (100 loc) · 4.33 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
##########################################################################
# File: dktool/cmake/scripts/dkml/workflow/compilers-gitlab-ci.in.yml #
# #
# Copyright 2022 Diskuv, Inc. #
# #
# Licensed under the Apache License, Version 2.0 (the "License"); #
# you may not use this file except in compliance with the License. #
# You may obtain a copy of the License at #
# #
# http://www.apache.org/licenses/LICENSE-2.0 #
# #
# Unless required by applicable law or agreed to in writing, software #
# distributed under the License is distributed on an "AS IS" BASIS, #
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or #
# implied. See the License for the specific language governing #
# permissions and limitations under the License. #
# #
##########################################################################
# Updating
# --------
#
# 1. Delete this file.
# 2. Run dk with your original arguments:
# ./dk dkml.workflow.compilers CI GitLab PRERELEASE
# or get help to come up with new arguments:
# ./dk dkml.workflow.compilers HELP
stages:
- build
- test
- deploy
include:
- local: '.ci/dkml-compilers/gl/setup-dkml.gitlab-ci.yml'
- local: .gitlab/ci/pages.gitlab-ci.yml
- local: .gitlab/ci/test.gitlab-ci.yml
- local: .gitlab/ci/windows.gitlab-ci.yml
# win32:build:
# extends: .win32:setup-dkml
# script:
# - msys64\usr\bin\bash -lc "ci/build-test.sh"
# linux:build:
# extends: .linux:setup-dkml
# script:
# - sh ci/build-test.sh
# # Exclude macOS until you have a https://gitlab.com/gitlab-com/runner-saas-macos-access-requests/-/issues approved!
# macos:build:
# extends: .macos:setup-dkml
# # prettier-ignore
# parallel:
# matrix: [
# { dkml_host_os: 'darwin',
# opam_root_cacheable: '${CI_PROJECT_DIR}/.ci/o',
# abi_pattern: 'macos-darwin_all',
# gl_image: 'macos-12-xcode-14',
# bootstrap_opam_version: '2.2.0-alpha-20221228',
# dkml_host_abi: 'darwin_arm64',
# opam_root: '${CI_PROJECT_DIR}/.ci/o' },
# ]
# tags: [saas-macos-medium-m1]
# script:
# - sh ci/build-test.sh
variables:
OPAM_SYS_DEPLOY_FOLDER_WINDOWS: 'C:\DkML\OpamSys'
GIT_SUBMODULE_STRATEGY: recursive
.alpine:before-sphinx:
image: python:3.9-alpine
before_script:
- apk add --no-cache git make rsync graphviz
- pip install -U sphinx sphinx_rtd_theme
.cmake-with-opam-prereqs-debian:before:
image: debian:stable-slim
variables:
DEBIAN_FRONTEND: noninteractive # for apt-get
before_script:
# Update/install system pkgs first, so conda can use latest system pkgs.
- apt-get update
# Install Ninja and C compiler
# ninja-build: CMake configure
# build-essential: CMake project(LANGUAGES C)
# git: CMake FetchContent()
# unzip: needed by opam
# libsqlite3-dev: needed by dkml-component-staging-desktop-full > conf-sqlite3
# libx11-dev: needed by dkml-component-staging-desktop-full > graphics > conf-libX11
# pkg-config: needed by dkml-component-staging-desktop-full > conf-sqlite3 > conf-pkg-config
- apt-get install -qq -o=Dpkg::Use-Pty=0 ninja-build build-essential git unzip libsqlite3-dev libx11-dev pkg-config > /dev/null
# Install CMake
- ./dk dksdk.cmake.link QUIET
.cmake-with-opam-prereqs-macos:build:
tags: [saas-macos-medium-m1]
image: macos-12-xcode-14
before_script:
# ninja: CMake configure
# gpatch: needed by opam
# unzip: needed by opam
# pkg-config: needed by dkml-component-staging-desktop-full > conf-sqlite3 > conf-pkg-config
# xquartz: needed by graphics > conf-libX11
# sqlite: {provided by macos} needed by dkml-component-staging-desktop-full > conf-sqlite3
# git: {already installed by GitLab} CMake FetchContent()
- brew install ninja gpatch unzip pkg-config xquartz
# Install CMake
- ./dk dksdk.cmake.link QUIET