Disable mpa for docs #122
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
| name: CLI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - "cli/TuistCacheEE" | |
| - "cli/TuistCacheEE/**" | |
| - "cli/Sources/**" | |
| - "cli/Tests/**" | |
| - "cli/Templates/**" | |
| - "*.swift" | |
| - ".github/workflows/cli.yml" | |
| - "mise/tasks/cli/lint.sh" | |
| - "mise.toml" | |
| - "examples/xcode/**" | |
| - "Tuist/**" | |
| - ".xcode-version" | |
| - "Package.swift" | |
| - "Package.resolved" | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| paths: | |
| - "cli/TuistCacheEE" | |
| - "cli/TuistCacheEE/**" | |
| - "cli/Sources/**" | |
| - "cli/Tests/**" | |
| - "cli/Templates/**" | |
| - "*.swift" | |
| - ".github/workflows/cli.yml" | |
| - "mise/tasks/cli/lint.sh" | |
| - "mise.toml" | |
| - "examples/xcode/**" | |
| - "Tuist/**" | |
| - ".xcode-version" | |
| - "Package.swift" | |
| - "Package.resolved" | |
| permissions: | |
| id-token: write | |
| contents: read | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| TUIST_ENABLE_CACHING: ${{ github.event.pull_request.head.repo.fork != true }} | |
| concurrency: | |
| group: cli-${{ github.head_ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| cli-lint: | |
| name: Lint | |
| runs-on: macos-26 | |
| timeout-minutes: 30 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Lint | |
| run: mise run cli:lint | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-spm-build: | |
| name: SwiftPM Build | |
| runs-on: macos-26 | |
| timeout-minutes: 30 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Build | |
| run: swift build --configuration debug --replace-scm-with-registry | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-cache: | |
| name: Cache | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Cache | |
| run: tuist cache | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-unit-tests: | |
| name: Unit Tests | |
| runs-on: namespace-profile-default-macos | |
| timeout-minutes: 30 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Run tests | |
| run: mise x -- tuist test TuistUnitTests | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-automation-acceptance-tests: | |
| name: Automation Acceptance Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Skip Xcode Macro Fingerprint Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES | |
| - name: Skip Xcode Package Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES | |
| - name: Download Metal Toolchain | |
| run: xcodebuild -downloadComponent MetalToolchain | |
| - name: Run TuistAutomationAcceptanceTests | |
| run: mise x -- tuist test TuistAutomationAcceptanceTests | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-dependencies-acceptance-tests: | |
| name: Dependencies Acceptance Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Skip Xcode Macro Fingerprint Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES | |
| - name: Skip Xcode Package Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES | |
| - name: Set up new keychain | |
| run: | | |
| TMP_DIRECTORY=$(mktemp -d) | |
| KEYCHAIN_PATH=$TMP_DIRECTORY/keychain.keychain | |
| KEYCHAIN_PASSWORD=$(uuidgen) | |
| security create-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH | |
| security set-keychain-settings -lut 21600 $KEYCHAIN_PATH | |
| security default-keychain -s $KEYCHAIN_PATH | |
| security unlock-keychain -p $KEYCHAIN_PASSWORD $KEYCHAIN_PATH | |
| - name: Run TuistDependenciesAcceptanceTests | |
| run: mise x -- tuist test TuistDependenciesAcceptanceTests | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-generator-acceptance-tests: | |
| name: Generator Acceptance Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Skip Xcode Macro Fingerprint Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES | |
| - name: Skip Xcode Package Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES | |
| - name: Download Metal Toolchain | |
| run: xcodebuild -downloadComponent MetalToolchain | |
| - name: Run TuistGeneratorAcceptanceTests | |
| run: mise x -- tuist test TuistGeneratorAcceptanceTests | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} | |
| cli-kit-acceptance-tests: | |
| name: Kit Acceptance Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 60 | |
| if: github.event.pull_request.draft == false || github.event_name != 'pull_request' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Select Xcode | |
| run: sudo xcode-select -switch /Applications/Xcode_$(cat .xcode-version).app | |
| - name: Restore cache | |
| id: cache-restore | |
| uses: actions/cache/restore@v4 | |
| with: | |
| path: .build | |
| key: ${{ runner.os }}-cli-${{ hashFiles('.xcode-version') }}-${{ hashFiles('Package.resolved') }} | |
| - uses: jdx/mise-action@v2 | |
| - name: Authenticate with Tuist | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist auth login | |
| - name: Setup Tuist cache | |
| if: github.event.pull_request.head.repo.fork != true | |
| run: tuist setup cache | |
| - name: Install Tuist dependencies | |
| if: steps.cache-restore.outputs.cache-matched-key == '' | |
| run: tuist install | |
| - name: Skip Xcode Macro Fingerprint Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipMacroFingerprintValidation -bool YES | |
| - name: Skip Xcode Package Validation | |
| run: defaults write com.apple.dt.Xcode IDESkipPackagePluginFingerprintValidation -bool YES | |
| - name: Run TuistKitAcceptanceTests | |
| run: mise x -- tuist test TuistKitAcceptanceTests | |
| - name: Save cache | |
| id: cache-save | |
| uses: actions/cache/save@v4 | |
| with: | |
| path: .build | |
| key: ${{ steps.cache-restore.outputs.cache-primary-key }} |