summaryrefslogtreecommitdiff
path: root/platform/macos/bitrise.yml
blob: 2de6bce1fc3dd42ec936d40dfaf4092bfc6ab007 (plain)
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
format_version: 1.1.0
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git

trigger_map:
- pattern: nightly-release
  workflow: nightly-release
- pattern: "*"
  is_pull_request_allowed: true
  workflow: primary

workflows:
  primary:
    steps:
    - script:
        title: Check for skipping CI
        inputs:
        - content: |-
            #!/bin/bash
            if [[ -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[skip ci\]/p')"  ||
                  -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_SUBJECT | sed -n '/\[ci skip\]/p')"  ||
                  -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY    | sed -n 's/\[skip ci\]/p')" ||
                  -n "$(echo $GIT_CLONE_COMMIT_MESSAGE_BODY    | sed -n 's/\[ci skip\]/p')" ]]; then
                envman add --key SKIPCI --value true
            else
                envman add --key SKIPCI --value false
            fi
    - script:
        title: Install Dependencies
        run_if: '{{enveq "SKIPCI" "false"}}'
        inputs:
        - content: |-
            #!/bin/bash
            set -eu -o pipefail
            brew install cmake
            gem install xcpretty --no-rdoc --no-ri
        - is_debug: 'yes'
    - script:
        title: Generate Workspace
        run_if: '{{enveq "SKIPCI" "false"}}'
        inputs:
        - content: |-
            #!/bin/bash
            set -eu -o pipefail
            export BUILDTYPE=Debug
            make xproj
        - is_debug: 'yes'
    - script:
        title: Run Core and SDK Unit Tests
        run_if: '{{enveq "SKIPCI" "false"}}'
        inputs:
        - content: |-
            #!/bin/bash
            set -eu -o pipefail
            export BUILDTYPE=Debug
            export XCPRETTY="| tee ${BITRISE_DEPLOY_DIR}/raw-xcodebuild-output.txt | xcpretty --color --report html --output ${BITRISE_DEPLOY_DIR}/xcode-test-results.html"
            make run-test
        - is_debug: 'yes'
    - deploy-to-bitrise-io:
        title: Deploy to Bitrise.io
        run_if: '{{enveq "SKIPCI" "false"}}'
        inputs:
        - deploy_path: "test/fixtures"
        - notify_user_groups: none
        - is_compress: 'true'
    - slack:
        title: Post to Slack
        run_if: '{{enveq "SKIPCI" "false"}}'
        inputs:
        - webhook_url: "$SLACK_HOOK_URL"
        - channel: "#gl-bots"
        - from_username: 'Bitrise macOS'
        - from_username_on_error: 'Bitrise macOS'
        - message: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}>
            for <https://github.com/mapbox/mapbox-gl-native/compare/${BITRISE_GIT_BRANCH}|mapbox/mapbox-gl-native@${BITRISE_GIT_BRANCH}>
            by ${GIT_CLONE_COMMIT_COMMITER_NAME}
            passed'
        - message_on_error: '<${BITRISE_BUILD_URL}|Build #${BITRISE_BUILD_NUMBER}>
            for <https://github.com/mapbox/mapbox-gl-native/compare/${BITRISE_GIT_BRANCH}|mapbox/mapbox-gl-native@${BITRISE_GIT_BRANCH}>
            by ${GIT_CLONE_COMMIT_COMMITER_NAME}
            failed'
        - icon_url: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-icon-128.png
        - icon_url_on_error: https://bitrise-public-content-production.s3.amazonaws.com/slack/bitrise-slack-error-icon-128.png
  nightly-release:
    steps:
    - script:
        title: Install Dependencies
        inputs:
        - content: |-
            #!/bin/bash
            set -eu -o pipefail
            brew install cmake
        - is_debug: 'yes'
    - script:
        title: Configure AWS-CLI
        inputs:
        - content: |-
            #!/bin/bash
            apt-get install -y python-pip python-dev build-essential
            pip install awscli
    - script:
        title: Build package
        inputs:
        - content: |-
            #!/bin/bash
            set -eu -o pipefail
            export BUILDTYPE=Release
            export SYMBOLS=NO
            make xpackage
            CLOUDWATCH=true platform/macos/scripts/metrics.sh
        - is_debug: 'yes'