|
33 | 33 | strategy:
|
34 | 34 | fail-fast: ${{ github.event_name == 'merge_group' }}
|
35 | 35 | matrix:
|
36 |
| - # smoelius: Test with `macos-latest` once the repository is made public. |
37 |
| - environment: [ubuntu-latest] |
| 36 | + environment: [ubuntu-latest, macos-15] |
38 | 37 | anchor-version: [0.31.1]
|
39 | 38 |
|
40 | 39 | runs-on: ${{ matrix.environment }}
|
|
67 | 66 | - name: Rustup
|
68 | 67 | run: rustup update
|
69 | 68 |
|
70 |
| - - name: Install Agave prerequisites |
| 69 | + - name: Install Agave prerequisites on Ubuntu |
| 70 | + if: ${{ matrix.environment == 'ubuntu-latest' }} |
71 | 71 | run: sudo apt install libclang-dev libudev-dev llvm protobuf-compiler
|
72 | 72 |
|
| 73 | + - name: Install Agave prerequisites on macOS |
| 74 | + if: ${{ matrix.environment == 'macos-15' }} |
| 75 | + run: | |
| 76 | + brew install coreutils gnu-sed llvm protobuf |
| 77 | + echo "/opt/homebrew/opt/gnu-sed/libexec/gnubin" >> "$GITHUB_PATH" |
| 78 | + # smoelius: ~/lib is one of the directories `librocksdb-sys`'s build script checks |
| 79 | + # for libclang.dylib. |
| 80 | + mkdir ~/lib |
| 81 | + ln -s /opt/homebrew/opt/llvm/lib/libclang.dylib ~/lib/libclang.dylib |
| 82 | +
|
73 | 83 | - name: Install Agave
|
74 | 84 | run: |
|
75 | 85 | if ! ./agave/bin/solana-test-validator --version; then
|
@@ -118,7 +128,9 @@ jobs:
|
118 | 128 |
|
119 | 129 | # https://github.com/actions/cache/tree/main/save#always-save-cache
|
120 | 130 | - uses: actions/cache/save@v4
|
121 |
| - if: always() && steps.cache-restore.outputs.cache-hit != 'true' |
| 131 | + # smoelius: The cache should be updated regardless of whether it was restored in case |
| 132 | + # further progress is made. |
| 133 | + if: always() # && steps.cache-restore.outputs.cache-hit != 'true' |
122 | 134 | with:
|
123 | 135 | key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }}
|
124 | 136 | path: |
|
|
0 commit comments