name: macos on: [push, pull_request] jobs: test: strategy: matrix: platform: - macos-12 generator: - Ninja configuration: - Release runs-on: ${{ matrix.platform }} env: # The `build` action requires these variables. build_dir: .build NUM_PROCESSORS: 2 steps: - name: checkout uses: actions/checkout@v3 - name: install Ninja if: matrix.generator == 'Ninja' run: brew install ninja - name: choose Python uses: actions/setup-python@v3 with: python-version: 3.9 - name: learn Python cache directory id: pip-cache run: | sudo pip install --upgrade pip echo "dir=$(pip cache dir)" >> $GITHUB_OUTPUT - name: restore Python cache directory uses: actions/cache@v2 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-${{ hashFiles('.github/workflows/nix.yml') }} - name: install Conan run: pip install wheel 'conan<2' - name: check environment run: | echo ${PATH} | tr ':' '\n' python --version conan --version cmake --version env - name: configure Conan run: | conan profile new default --detect conan profile update settings.compiler.cppstd=20 default - name: learn Conan cache directory id: conan-cache run: | echo "dir=$(conan config get storage.path)" >> $GITHUB_OUTPUT - name: restore Conan cache directory uses: actions/cache@v2 with: path: ${{ steps.conan-cache.outputs.dir }} key: ${{ hashFiles('~/.conan/profiles/default', 'conanfile.py', 'external/rocksdb/*', '.github/workflows/nix.yml') }} - name: build uses: ./.github/actions/build with: generator: ${{ matrix.generator }} configuration: ${{ matrix.configuration }} - name: test run: | ${build_dir}/rippled --unittest