Chaning directories for logs and state files #4537
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors | |
| # SPDX-License-Identifier: GPL-2.0-or-later | |
| name: macOS Build and Test | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| build: | |
| name: macOS Build and Test | |
| timeout-minutes: 60 | |
| runs-on: macos-15 | |
| strategy: | |
| matrix: | |
| craft_options: [ | |
| '--options nextcloud-client.buildFileProviderModule=False', | |
| '--options nextcloud-client.buildFileProviderModule=True' | |
| ] | |
| env: | |
| CRAFT_TARGET: macos-clang-arm64 | |
| CRAFT_MASTER_LOCATION: ${{ github.workspace }}/CraftMaster | |
| CRAFT_MASTER_CONFIG: ${{ github.workspace }}/craftmaster.ini | |
| CRAFT_BLUEPRINT_OPTIONS: ${{ matrix.craft_options }} | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| with: | |
| fetch-depth: 1 | |
| - name: List Xcode installations | |
| run: sudo ls -1 /Applications | grep "Xcode" | |
| - name: Select Xcode 16.2 | |
| run: sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | |
| - name: Restore cache | |
| uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4 | |
| with: | |
| path: ~/cache | |
| key: macos-latest-${{ env.CRAFT_TARGET }} | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0 | |
| with: | |
| python-version: 3.12 | |
| - name: Install Homebrew dependencies | |
| run: | | |
| brew install homebrew/cask/inkscape | |
| - name: Download Craft | |
| run: | | |
| git clone -q --depth=1 https://invent.kde.org/packaging/craftmaster.git ${{ env.CRAFT_MASTER_LOCATION }} | |
| - name: Add required blueprint repositories | |
| run: | | |
| python "${{ env.CRAFT_MASTER_LOCATION }}/CraftMaster.py" --config "${{ env.CRAFT_MASTER_CONFIG }}" --target ${{ env.CRAFT_TARGET }} -c --add-blueprint-repository "https://github.com/nextcloud/craft-blueprints-kde.git|stable-3.17|" | |
| python "${{ env.CRAFT_MASTER_LOCATION }}/CraftMaster.py" --config "${{ env.CRAFT_MASTER_CONFIG }}" --target ${{ env.CRAFT_TARGET }} -c --add-blueprint-repository "https://github.com/nextcloud/desktop-client-blueprints.git|stable-3.17|" | |
| - name: Setup Craft | |
| run: | | |
| python "${{ env.CRAFT_MASTER_LOCATION }}/CraftMaster.py" --config "${{ env.CRAFT_MASTER_CONFIG }}" --target ${{ env.CRAFT_TARGET }} -c craft | |
| - name: Install Craft Nextcloud client dependencies | |
| run: | | |
| python "${{ env.CRAFT_MASTER_LOCATION }}/CraftMaster.py" --config "${{ env.CRAFT_MASTER_CONFIG }}" --target ${{ env.CRAFT_TARGET }} -c --install-deps nextcloud-client | |
| - name: Build client | |
| run: | | |
| python "${{ env.CRAFT_MASTER_LOCATION }}/CraftMaster.py" --config "${{ env.CRAFT_MASTER_CONFIG }}" --target ${{ env.CRAFT_TARGET }} -c --options nextcloud-client.srcDir=${{ github.workspace }} ${{ env.CRAFT_BLUEPRINT_OPTIONS }} nextcloud-client | |
| - name: Run tests | |
| run: | | |
| cd ${{ github.workspace }}/${{ env.CRAFT_TARGET }}/build/nextcloud-client/work/build | |
| ctest --output-on-failure --output-junit testResult.xml | |