1stages:
2  - build
3  - test
4  - deploy
5
6.variables_template: &variables_definition
7  variables:
8    BASE_NAME: "espressivo.lv2"
9    PKG_CONFIG_PATH: "/opt/lv2/lib/pkgconfig:/opt/${CI_BUILD_NAME}/lib/pkgconfig:/usr/lib/${CI_BUILD_NAME}/pkgconfig"
10
11.common_template: &common_definition
12  <<: *variables_definition
13  stage: build
14  artifacts:
15    name: "${BASE_NAME}-$(cat VERSION)-${CI_BUILD_NAME}"
16    paths:
17      - "${BASE_NAME}-$(cat VERSION)/"
18
19.build_template: &build_definition
20  <<: *common_definition
21  before_script:
22    - export PATH="/opt/lv2/bin:$PATH"
23  script:
24    - meson --prefix="/opt/${CI_BUILD_NAME}" --libdir="lib" --cross-file "${CI_BUILD_NAME}" build
25    - sed -i -e '/framework/s/-Wl,-O1//g' -e '/framework/s/-Wl,--start-group//g' -e '/framework/s/-Wl,--end-group//g' -e '/framework/s/-Wl,-soname,.*dylib//g' build/build.ninja
26    - ninja -C build
27    - ninja -C build install
28    - ninja -C build test
29    - mkdir -p "${BASE_NAME}-$(cat VERSION)/${CI_BUILD_NAME}/${BASE_NAME}"
30    - cp -r "/opt/${CI_BUILD_NAME}/lib/lv2/${BASE_NAME}/" "${BASE_NAME}-$(cat VERSION)/${CI_BUILD_NAME}/"
31
32.universal_linux_template: &universal_linux_definition
33  image: ventosus/universal-linux-gnu
34  <<: *build_definition
35
36.arm_linux_template: &arm_linux_definition
37  image: ventosus/arm-linux-gnueabihf
38  <<: *build_definition
39
40.universal_w64_template: &universal_w64_definition
41  image: ventosus/universal-w64-mingw32
42  <<: *build_definition
43
44.universal_apple_template: &universal_apple_definition
45  image: ventosus/universal-apple-darwin
46  <<: *build_definition
47
48# building in docker
49x86_64-linux-gnu:
50  <<: *universal_linux_definition
51
52i686-linux-gnu:
53  <<: *universal_linux_definition
54
55arm-linux-gnueabihf:
56  <<: *arm_linux_definition
57
58x86_64-w64-mingw32:
59  <<: *universal_w64_definition
60
61i686-w64-mingw32:
62  <<: *universal_w64_definition
63
64universal-apple-darwin:
65  <<: *universal_apple_definition
66
67pack:
68  <<: *variables_definition
69  stage: deploy
70  script:
71    - echo 'packing up...'
72  artifacts:
73    name: "${BASE_NAME}-$(cat VERSION)"
74    paths:
75      - "${BASE_NAME}-$(cat VERSION)/"
76