Skip to content

Commit

Permalink
Update ci.yml
Browse files Browse the repository at this point in the history
  • Loading branch information
ns-vasilev committed Sep 29, 2024
1 parent 4a7d871 commit 4e541d7
Show file tree
Hide file tree
Showing 4 changed files with 279 additions and 79 deletions.
99 changes: 20 additions & 79 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ on:
- "Package.swift"
- "Source/**"
- "Tests/**"

jobs:
SwiftLint:
runs-on: ubuntu-latest
Expand All @@ -23,71 +22,54 @@ jobs:
with:
args: --strict
env:

DIFF_BASE: ${{ github.base_ref }}



macOS:

name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}

env:

DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"

timeout-minutes: 20
strategy:
fail-fast: false
matrix:
include:
- xcode: "Xcode_16.0"
runsOn: macos-14
name: "macOS 14, Xcode 16.0, Swift 6.0"
testPlan: "macOS"
- xcode: "Xcode_15.4"
runsOn: macos-14
name: "macOS 14, Xcode 15.4, Swift 5.10"
testPlan: "macOS"
- xcode: "Xcode_15.2"
runsOn: macos-13
name: "macOS 14, Xcode 15.2, Swift 5.9.2"
- xcode: "Xcode_15.1"
runsOn: macOS-13
name: "macOS 14, Xcode 15.1, Swift 5.9.1"
testPlan: "macOS"
- xcode: "Xcode_15.0"
runsOn: macos-13
name: "macOS 13, Xcode 15.0, Swift 5.9.0"
- xcode: "Xcode_14.3.1"
runsOn: macos-13
name: "macOS 13, Xcode 14.3.1, Swift 5.8.0"
- xcode: "Xcode_14.2"
runsOn: macOS-12
name: "macOS 12, Xcode 14.2, Swift 5.7.2"
- xcode: "Xcode_14.1"
runsOn: macOS-12
name: "macOS 12, Xcode 14.1, Swift 5.7.1"
steps:
- uses: actions/checkout@v3

- name: ${{ matrix.name }}
run: xcodebuild test -scheme "{{ cookiecutter.name }}" -destination "platform=macOS" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1

run: xcodebuild test -scheme "BuilderMacroClient" -destination "platform=macOS" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:

token: ${{ secrets.CODECOV_TOKEN }}

xcode: true

xcode_archive_path: test_output/${{ matrix.name }}.xcresult

- uses: actions/upload-artifact@v4
with:

name: ${{ matrix.name }}

path: test_output



iOS:

name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}

env:

DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"

timeout-minutes: 20
strategy:
fail-fast: false
Expand All @@ -103,28 +85,17 @@ jobs:
runsOn: macos-13
steps:
- uses: actions/checkout@v3

- name: ${{ matrix.name }}
run: xcodebuild test -scheme "{{ cookiecutter.name }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1

run: xcodebuild test -scheme "BuilderMacroClient" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
- uses: actions/upload-artifact@v4
with:

name: ${{ matrix.name }}
path: test_output




tvOS:

name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}

env:

DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"

timeout-minutes: 20
strategy:
fail-fast: false
Expand All @@ -140,38 +111,23 @@ jobs:
runsOn: macos-13
steps:
- uses: actions/checkout@v3

- name: ${{ matrix.name }}
run: xcodebuild test -scheme "{{ cookiecutter.name }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1

run: xcodebuild test -scheme "BuilderMacroClient" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:

token: ${{ secrets.CODECOV_TOKEN }}

xcode: true

xcode_archive_path: test_output/${{ matrix.name }}.xcresult

- uses: actions/upload-artifact@v4
with:

name: ${{ matrix.name }}

path: test_output



watchOS:

name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}

env:

DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"

timeout-minutes: 20
strategy:
fail-fast: false
Expand All @@ -191,37 +147,23 @@ jobs:
runsOn: macos-13
steps:
- uses: actions/checkout@v3

- name: ${{ matrix.name }}
run: xcodebuild test -scheme "{{ cookiecutter.name }}" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1

run: xcodebuild test -scheme "BuilderMacroClient" -destination "${{ matrix.destination }}" clean -enableCodeCoverage YES -resultBundlePath "test_output/${{ matrix.name }}.xcresult" || exit 1
- name: Upload coverage reports to Codecov
uses: codecov/[email protected]
with:

token: ${{ secrets.CODECOV_TOKEN }}

xcode: true

xcode_archive_path: test_output/${{ matrix.name }}.xcresult

- uses: actions/upload-artifact@v4
with:

name: ${{ matrix.name }}

path: test_output


spm:

name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}

env:

DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer"

timeout-minutes: 20
strategy:
fail-fast: false
Expand All @@ -235,9 +177,8 @@ jobs:
runsOn: macos-13
steps:
- uses: actions/checkout@v3

- name: ${{ matrix.name }}
run: swift build -c release --target "{{ cookiecutter.name }}"
run: swift build -c release --target "BuilderMacro"

merge-test-reports:
needs: [iOS, macOS, watchOS, tvOS]
Expand Down
102 changes: 102 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/BuilderMacro-Package.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1540"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacro"
BuildableName = "BuilderMacro"
BlueprintName = "BuilderMacro"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacroClient"
BuildableName = "BuilderMacroClient"
BlueprintName = "BuilderMacroClient"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacroTests"
BuildableName = "BuilderMacroTests"
BlueprintName = "BuilderMacroTests"
ReferencedContainer = "container:">
</BuildableReference>
</TestableReference>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacroClient"
BuildableName = "BuilderMacroClient"
BlueprintName = "BuilderMacroClient"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacroClient"
BuildableName = "BuilderMacroClient"
BlueprintName = "BuilderMacroClient"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
67 changes: 67 additions & 0 deletions .swiftpm/xcode/xcshareddata/xcschemes/BuilderMacro.xcscheme
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1540"
version = "1.7">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES"
buildArchitectures = "Automatic">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacro"
BuildableName = "BuilderMacro"
BlueprintName = "BuilderMacro"
ReferencedContainer = "container:">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
shouldAutocreateTestPlan = "YES">
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "BuilderMacro"
BuildableName = "BuilderMacro"
BlueprintName = "BuilderMacro"
ReferencedContainer = "container:">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>
Loading

0 comments on commit 4e541d7

Please sign in to comment.