-
Notifications
You must be signed in to change notification settings - Fork 10
/
.gitlab-ci-macos.yml
90 lines (85 loc) · 1.88 KB
/
.gitlab-ci-macos.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
########################
# MacOS CI/CD Pipeline #
########################
macos-setup:
stage: setup
tags:
- macos
- anaconda
# TODO: Figure out how to skip the pipeline, this rule doesn't work for some reason
# rules:
# - if: $SKIP_NORMAL_PIPELINE && $SKIP_NORMAL_PIPELINE == "true"
# when: never
script:
- ./ci/macos/configure_anaconda_environment.sh
- mkdir build_macos
artifacts:
paths:
- build_macos
expire_in: 1 day
macos-configure:
stage: configure
tags:
- macos
- anaconda
dependencies:
- macos-setup
needs:
- job: macos-setup
artifacts: true
script:
- ./ci/macos/configure_cmake_build.sh
artifacts:
paths:
- build_macos
expire_in: 1 day
macos-build:
stage: build
tags:
- macos
- anaconda
dependencies:
- macos-configure
needs:
- job: macos-configure
artifacts: true
script:
- ./ci/macos/run_build.sh
artifacts:
paths:
- build_macos
expire_in: 1 day
macos-test:
stage: test
tags:
- macos
- anaconda
dependencies:
- macos-build
needs:
- job: macos-build
artifacts: true
script:
- cp ./build_macos/lib/*.so ./tracktable/Python/tracktable/lib
- ./ci/macos/run_test.sh
artifacts:
paths:
- build_macos
expire_in: 1 day
########################################
# Build And Deploy MacOS PYPI Packages #
########################################
macos-deploy:
stage: deploy
tags:
- macos
- anaconda
rules:
- if: $CI_PIPELINE_SOURCE == "schedule"
timeout: 2 hours
needs: ["macos-test"]
script:
- cd packaging/pypi/macos
- mkdir wheel_build && cd wheel_build
- ../build_macos_wheels.sh -j 6 ../../../..
- TWINE_PASSWORD=${CI_JOB_TOKEN} TWINE_USERNAME=gitlab-ci-token python -m twine upload --repository-url ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/pypi *.whl