Track moved files when staged but not committed yet #1673
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: build | |
on: | |
push: | |
pull_request: | |
jobs: | |
macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- 12 | |
- 13 | |
- latest | |
xcode: | |
- latest-stable | |
runs-on: macos-${{ matrix.macos }} | |
steps: | |
- name: Select Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build and Test | |
run: | | |
# Set up a git user for the git tests | |
git config user.name "test user" | |
git config user.email "[email protected]" | |
xcodebuild -project SwiftFormat.xcodeproj -scheme "SwiftFormat (Framework)" -sdk macosx clean build test -enableCodeCoverage YES -derivedDataPath Build/ | |
cd Build/Build/ProfileData | |
cd $(ls -d */|head -n 1) | |
directory=${PWD##*/} | |
pathCoverage=Build/Build/ProfileData/${directory}/Coverage.profdata | |
cd ../../../../ | |
xcrun llvm-cov export -format="lcov" -instr-profile $pathCoverage Build/Build/Products/Debug/SwiftFormat.framework/SwiftFormat > info.lcov | |
- name: Codecov | |
uses: codecov/codecov-action@v4 | |
with: | |
# the token is optional for a public repo, but including it anyway | |
token: a47579fa-9a2a-4c48-b557-aa725c6b5f92 | |
env_vars: MD_APPLE_SDK_ROOT,RUNNER_OS,RUNNER_ARCH | |
linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
swiftver: | |
- swift:5.3 | |
- swift:5.10 | |
swiftos: | |
- focal | |
runs-on: ubuntu-latest | |
container: | |
image: ${{ format('{0}-{1}', matrix.swiftver, matrix.swiftos) }} | |
options: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined --security-opt apparmor=unconfined | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build and Test | |
run: | | |
# Set up a git user for the git tests | |
git config --global user.name "test user" | |
git config --global user.email "[email protected]" | |
# Needed to be allowed to run git commands in the tests | |
# https://github.com/actions/runner-images/issues/6775 | |
git config --global --add safe.directory /__w/SwiftFormat/SwiftFormat | |
swift test --enable-test-discovery | |
windows: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# Oldest working version. | |
# 5.6 fails with "error: could not build C module 'CDispatch'" | |
# 5.7 fails with "error: expressions are not allowed at the top level" for "XCTMain(tests)" | |
- branch: swift-5.8-release | |
tag: 5.8-RELEASE | |
# Version used by the release workflow | |
- branch: swift-5.10.1-release | |
tag: 5.10.1-RELEASE | |
runs-on: windows-latest | |
name: windows (${{ matrix.tag }}) | |
steps: | |
- uses: compnerd/gha-setup-swift@main | |
with: | |
tag: ${{ matrix.tag }} | |
branch: ${{ matrix.branch }} | |
- uses: actions/checkout@v4 | |
- run: swift test | |
command-line-tool: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- 13 | |
xcode: | |
- latest-stable | |
runs-on: macos-${{ matrix.macos }} | |
steps: | |
- name: Select Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Command Line Tool | |
run: xcodebuild -project SwiftFormat.xcodeproj -scheme "SwiftFormat (Command Line Tool)" -sdk macosx clean build | |
swiftformat-for-xcode: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- 13 | |
xcode: | |
- latest-stable | |
runs-on: macos-${{ matrix.macos }} | |
steps: | |
- name: Select Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Swift Format for Xcode app | |
run: xcodebuild -project SwiftFormat.xcodeproj -scheme "SwiftFormat for Xcode" -sdk macosx clean build | |
editor-extension: | |
strategy: | |
fail-fast: false | |
matrix: | |
macos: | |
- 13 | |
xcode: | |
- latest-stable | |
runs-on: macos-${{ matrix.macos }} | |
steps: | |
- name: Select Xcode version | |
uses: maxim-lobanov/setup-xcode@v1 | |
with: | |
xcode-version: ${{ matrix.xcode }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Build Editor Extension | |
run: xcodebuild -project SwiftFormat.xcodeproj -scheme "SwiftFormat (Editor Extension)" -sdk macosx clean build |