-
Notifications
You must be signed in to change notification settings - Fork 5
161 lines (143 loc) · 7.13 KB
/
Copy pathgetdeps_mac.yml
File metadata and controls
161 lines (143 loc) · 7.13 KB
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
# This file was @generated by getdeps.py
name: mac
on:
push:
branches:
- main
pull_request:
branches:
- main
permissions:
contents: read # to fetch code (actions/checkout)
actions: read # to query GitHub Actions cache usage
jobs:
build:
runs-on: macos-14-xlarge
timeout-minutes: 60
env:
DEVELOPER_DIR: /Applications/Xcode_16.2.app/Contents/Developer
CC: /opt/homebrew/opt/llvm/bin/clang
CXX: /opt/homebrew/opt/llvm/bin/clang++
SCCACHE_GHA_ENABLED: "on"
steps:
- name: Show runner info
run: |
echo "CPU cores: $(sysctl -n hw.ncpu)"
sysctl -n machdep.cpu.brand_string
sysctl -n hw.memsize | awk '{print "Memory: " $1/1073741824 " GB"}'
- uses: actions/checkout@v6
- name: Set up sccache
uses: mozilla-actions/sccache-action@v0.0.10
with:
version: "v0.14.0"
- name: Install Homebrew LLVM
run: |
# The macOS runner image pre-taps aws/tap, which Homebrew now refuses
# to use without explicit trust, blocking all brew commands. We don't
# use aws/tap, so untap it (|| true in case a future image drops it).
brew untap aws/tap || true
brew install llvm
- name: Show disk space at start
run: df -h
- name: Free up disk space
run: sudo rm -rf /usr/local/lib/android
- name: Show disk space after freeing up
run: df -h
- name: Install system deps
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages install-system-deps --recursive rebalancer
- id: paths
name: Query paths
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages query-paths --recursive --src-dir=. rebalancer >> "$GITHUB_OUTPUT"
- name: Fetch boost
if: ${{ steps.paths.outputs.boost_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests boost
- name: Fetch ninja
if: ${{ steps.paths.outputs.ninja_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests ninja
- name: Fetch cmake
if: ${{ steps.paths.outputs.cmake_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests cmake
- name: Fetch fmt
if: ${{ steps.paths.outputs.fmt_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fmt
- name: Fetch googletest
if: ${{ steps.paths.outputs.googletest_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests googletest
- name: Fetch xxhash
if: ${{ steps.paths.outputs.xxhash_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests xxhash
- name: Fetch zstd
if: ${{ steps.paths.outputs.zstd_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests zstd
- name: Fetch double-conversion
if: ${{ steps.paths.outputs.double-conversion_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests double-conversion
- name: Fetch fast_float
if: ${{ steps.paths.outputs.fast_float_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fast_float
- name: Fetch gflags
if: ${{ steps.paths.outputs.gflags_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests gflags
- name: Fetch glog
if: ${{ steps.paths.outputs.glog_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests glog
- name: Fetch libdwarf
if: ${{ steps.paths.outputs.libdwarf_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libdwarf
- name: Fetch lz4
if: ${{ steps.paths.outputs.lz4_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests lz4
- name: Fetch openssl
if: ${{ steps.paths.outputs.openssl_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests openssl
- name: Fetch snappy
if: ${{ steps.paths.outputs.snappy_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests snappy
- name: Fetch highs-optimizer
if: ${{ steps.paths.outputs.highs-optimizer_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests highs-optimizer
- name: Fetch libevent
if: ${{ steps.paths.outputs.libevent_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libevent
- name: Fetch autoconf
if: ${{ steps.paths.outputs.autoconf_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests autoconf
- name: Fetch automake
if: ${{ steps.paths.outputs.automake_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests automake
- name: Fetch libtool
if: ${{ steps.paths.outputs.libtool_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libtool
- name: Fetch libsodium
if: ${{ steps.paths.outputs.libsodium_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests libsodium
- name: Fetch xz
if: ${{ steps.paths.outputs.xz_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests xz
- name: Fetch folly
if: ${{ steps.paths.outputs.folly_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests folly
- name: Fetch fbthrift
if: ${{ steps.paths.outputs.fbthrift_SOURCE }}
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fetch --no-tests fbthrift
- name: Build rebalancer
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages build --build-type RelWithDebInfo --src-dir=. rebalancer --project-install-prefix rebalancer:/usr/local --extra-cmake-defines '{"CMAKE_POSITION_INDEPENDENT_CODE":"ON"}'
- name: Show sccache stats
if: always()
run: sccache --show-stats
- name: Copy artifacts
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages fixup-dyn-deps --src-dir=. rebalancer _artifacts/mac --project-install-prefix rebalancer:/usr/local --final-install-prefix /usr/local
- uses: actions/upload-artifact@v6
with:
name: rebalancer
path: _artifacts
- name: Test rebalancer
run: python3 build/fbcode_builder/getdeps.py --allow-system-packages test --build-type RelWithDebInfo --src-dir=. rebalancer --project-install-prefix rebalancer:/usr/local --extra-cmake-defines '{"CMAKE_POSITION_INDEPENDENT_CODE":"ON"}'
- name: Show disk space at end
if: always()
run: df -h
- name: Show GitHub Actions cache usage
if: always()
env:
GH_TOKEN: ${{ github.token }}
run: gh cache list --repo ${{ github.repository }} --sort size_in_bytes --order desc --limit 30