Skip to content

Use static Linux SDK in Dockerfile (#1915) #1735

Use static Linux SDK in Dockerfile (#1915)

Use static Linux SDK in Dockerfile (#1915) #1735

Workflow file for this run

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