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
|
---
format_version: '13'
default_step_lib_source: https://github.com/bitrise-io/bitrise-steplib.git
project_type: other
workflows:
primary:
steps:
- activate-ssh-key@4:
run_if: '{{getenv "SSH_RSA_PRIVATE_KEY" | ne ""}}'
- git-clone@8:
is_always_run: true
- brew-install@1:
inputs:
- cache_enabled: 'yes'
- use_brewfile: 'yes'
- script@1:
inputs:
- content: |
#!/usr/bin/env bash
set -e
# make pipelines' return status equal the last command to exit with a non-zero status, or zero if all commands exit successfully
set -o pipefail
# debug log
set -x
NPROC="$(getconf _NPROCESSORS_ONLN)"
export PYTHONPATH=$(ls -d /opt/homebrew/Cellar/jinja2-cli/*/libexec/lib/*/site-packages | tail -n1)
sudo defaults write /Library/Preferences/com.apple.security.libraryvalidation.plist DisableLibraryValidation -bool true
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_SYSROOT=macosx -B build-make
make -C build-make -j$NPROC
make -C build-make -j$NPROC check
sudo make -C build-make install
tar --zstd -cf ${BITRISE_DEPLOY_DIR}/firebuild-$(git log -1 --format=%cd-%h --date=format:%Y-%m-%d).tar.zst /usr/local/bin/firebuild /usr/local/lib/libfirebuild.* /usr/local/etc/firebuild.conf /usr/local/share/firebuild
# build self with Xcode
# build only once and without firebuild because that hangs, see:
# https://github.com/firebuild/firebuild/issues/1347
for i in 1; do
rm -rf build-xcode
# configure without firebuild, because that fails, see: https://github.com/firebuild/firebuild/issues/1345
# time firebuild cmake -B build-xcode -G Xcode
cmake -B build-xcode -G Xcode
(cd build-xcode &&
# time firebuild -o env_vars.pass_through+=\"PYTHONPATH\" -o env_vars.pass_through+=\"XML_CATALOG_FILES\" xcodebuild)
time xcodebuild)
done
- deploy-to-bitrise-io@2: {}
envs:
- opts:
is_expand: false
XML_CATALOG_FILES: "/opt/homebrew/etc/xml/catalog"
meta:
bitrise.io:
stack: osx-xcode-edge
machine_type_id: g2.mac.medium
trigger_map:
- push_branch: master
workflow: primary
- pull_request_source_branch: "*"
workflow: primary
|