Make sure it's backward-compatible #228
Workflow file for this run
This file contains 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: XcodeGraph | |
on: | |
push: | |
branches: | |
- '**' | |
tags-ignore: | |
- '**' | |
paths: | |
- '**/*.swift' | |
- '.github/workflows/*.yml' | |
pull_request: | |
paths: | |
- '**/*.swift' | |
- '.github/workflows/*.yml' | |
concurrency: | |
group: XcodeGraph-${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
MISE_EXPERIMENTAL: 1 | |
TUIST_CONFIG_CLOUD_TOKEN: ${{ secrets.TUIST_CONFIG_CLOUD_TOKEN }} | |
jobs: | |
spm_build: | |
name: SPM Build | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
- macOS-13 | |
swift-version: | |
- '5.9' | |
swift-compat-ver: | |
- '5' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: SwiftyLab/setup-swift@latest | |
with: | |
swift-version: ${{ matrix.swift-version }} | |
# DEBUG mode | |
- name: Build with debug mode. | |
id: debug_build | |
run: swift build --configuration debug -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }} | |
continue-on-error: true | |
- name: Retry build with debug mode if necessary | |
if: steps.debug_build.outcome == 'failure' | |
run: | | |
swift build --configuration debug -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }} | |
# RELEASE mode | |
- name: Build with release mode. | |
id: release_build | |
run: swift build --configuration release -Xswiftc -enable-testing -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }} | |
continue-on-error: true | |
- name: Retry build with release mode if necessary | |
if: steps.release_build.outcome == 'failure' | |
run: | | |
swift build --configuration release -Xswiftc -swift-version -Xswiftc ${{ matrix.swift-compat-ver }} | |
tuist_build: | |
name: Tuist Build | |
strategy: | |
matrix: | |
os: | |
- macOS-13 | |
swift-version: | |
- '5.9' | |
swift-compat-ver: | |
- '5' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: SwiftyLab/setup-swift@latest | |
with: | |
swift-version: ${{ matrix.swift-version }} | |
- uses: jdx/mise-action@v2 | |
- name: Install dependencies | |
run: tuist install | |
- name: Build | |
run: tuist build | |
lint: | |
name: Lint | |
strategy: | |
matrix: | |
os: | |
- macOS-13 | |
swift-version: | |
- '5.9' | |
swift-compat-ver: | |
- '5' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: SwiftyLab/setup-swift@latest | |
with: | |
swift-version: ${{ matrix.swift-version }} | |
- uses: jdx/mise-action@v2 | |
- name: Lint | |
run: mise run lint |