Skip to content

Commit 249848e

Browse files
authored
Merge pull request #21 from orchetect/dev
Major refactor, Events support, new API (still subject to change <0.2.0)
2 parents 7be9b08 + e48d53d commit 249848e

File tree

238 files changed

+14170
-15620
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

238 files changed

+14170
-15620
lines changed

.github/workflows/build.yml

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches: [main, dev]
6+
paths-ignore:
7+
- 'Docs/**' # Docs folder in root of repo
8+
- '**/*.md' # .md files anywhere in the repo
9+
- '**/LICENSE' # LICENSE files anywhere in the repo
10+
- '**/.gitignore' # .gitignore files anywhere in the repo
11+
12+
pull_request:
13+
branches: [main]
14+
paths-ignore:
15+
- 'Docs/**' # Docs folder in root of repo
16+
- '**/*.md' # .md files anywhere in the repo
17+
- '**/LICENSE' # LICENSE files anywhere in the repo
18+
- '**/.gitignore' # .gitignore files anywhere in the repo
19+
20+
workflow_dispatch:
21+
22+
schedule:
23+
- cron: '35 11 * * *' # once a day @ 11:35am UTC (4:35am PST)
24+
25+
jobs:
26+
macOS:
27+
name: macOS
28+
runs-on: macos-latest
29+
steps:
30+
- uses: actions/checkout@main
31+
- name: Build
32+
run: xcodebuild build -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=macOS,arch=x86_64"
33+
- name: Unit Tests
34+
run: xcodebuild test -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=macOS,arch=x86_64"
35+
36+
macCatalyst:
37+
name: macCatalyst
38+
runs-on: macos-latest
39+
steps:
40+
- uses: actions/checkout@main
41+
- name: Build
42+
run: xcodebuild build -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=macOS,variant=Mac Catalyst,arch=x86_64"
43+
- name: Unit Tests
44+
run: xcodebuild test -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=macOS,variant=Mac Catalyst,arch=x86_64"
45+
46+
iOS:
47+
name: iOS
48+
runs-on: macos-latest # this must be macos, GitHub does not offer iOS directly but we can use xcodebuild
49+
steps:
50+
- uses: actions/checkout@main
51+
- name: iPhone 12 Simulator - Build
52+
run: xcodebuild build -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=iOS Simulator,name=iPhone 12"
53+
- name: iPhone 12 Simulator - Unit Tests
54+
run: xcodebuild test -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=iOS Simulator,name=iPhone 12"
55+
56+
Examples:
57+
name: Examples
58+
runs-on: macos-latest
59+
steps:
60+
- uses: actions/checkout@main
61+
- name: MIDISystemInfo - Resolve Package Dependencies # needed because sometimes xcodebuild fails otherwise
62+
run: xcodebuild -project "Examples/MIDISystemInfo/MIDISystemInfo.xcodeproj" -resolvePackageDependencies
63+
- name: MIDISystemInfo - Build
64+
run: xcodebuild build -project "Examples/MIDISystemInfo/MIDISystemInfo.xcodeproj" -scheme "MIDISystemInfo"
65+
66+
67+
# we flew too close to the sun... tvOS is not yet ready for primetime because CoreMIDI is still in beta for tvOS
68+
#
69+
# tvOS:
70+
# name: tvOS
71+
# runs-on: macos-latest # this must be macos, GitHub does not offer tvOS directly but we can use xcodebuild
72+
# steps:
73+
# - uses: actions/checkout@main
74+
# - name: Apple TV - Build
75+
# run: xcodebuild build -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=tvOS Simulator,name=Apple TV"
76+
# - name: Apple TV - Unit Tests
77+
# run: xcodebuild test -workspace ".swiftpm/xcode/package.xcworkspace" -scheme "MIDIKit-CI" -destination "platform=tvOS Simulator,name=Apple TV"
78+
79+
80+
# xcodebuild test reference:
81+
# https://developer.apple.com/library/archive/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/08-automation.html

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ timeline.xctimeline
3737
playground.xcworkspace
3838

3939
## SPM support in Xcode
40-
.swiftpm
40+
# .swiftpm - for shared CI schemes we need these checked in:
41+
# -> .swiftpm/xcode/package.xcworkspace
42+
# -> .swiftpm/xcode/xcshareddata/xcschemes/*.*
4143

4244
# Swift Package Manager
4345
#
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "1240"
4+
version = "1.3">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES">
8+
<BuildActionEntries>
9+
<BuildActionEntry
10+
buildForTesting = "YES"
11+
buildForRunning = "YES"
12+
buildForProfiling = "YES"
13+
buildForArchiving = "YES"
14+
buildForAnalyzing = "YES">
15+
<BuildableReference
16+
BuildableIdentifier = "primary"
17+
BlueprintIdentifier = "MIDIKit"
18+
BuildableName = "MIDIKit"
19+
BlueprintName = "MIDIKit"
20+
ReferencedContainer = "container:">
21+
</BuildableReference>
22+
</BuildActionEntry>
23+
<BuildActionEntry
24+
buildForTesting = "YES"
25+
buildForRunning = "YES"
26+
buildForProfiling = "YES"
27+
buildForArchiving = "NO"
28+
buildForAnalyzing = "YES">
29+
<BuildableReference
30+
BuildableIdentifier = "primary"
31+
BlueprintIdentifier = "MIDIKitTests"
32+
BuildableName = "MIDIKitTests"
33+
BlueprintName = "MIDIKitTests"
34+
ReferencedContainer = "container:">
35+
</BuildableReference>
36+
</BuildActionEntry>
37+
<BuildActionEntry
38+
buildForTesting = "YES"
39+
buildForRunning = "YES"
40+
buildForProfiling = "YES"
41+
buildForArchiving = "NO"
42+
buildForAnalyzing = "YES">
43+
<BuildableReference
44+
BuildableIdentifier = "primary"
45+
BlueprintIdentifier = "MIDIKitC"
46+
BuildableName = "MIDIKitC"
47+
BlueprintName = "MIDIKitC"
48+
ReferencedContainer = "container:">
49+
</BuildableReference>
50+
</BuildActionEntry>
51+
</BuildActionEntries>
52+
</BuildAction>
53+
<TestAction
54+
buildConfiguration = "Debug"
55+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
56+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
57+
shouldUseLaunchSchemeArgsEnv = "YES"
58+
codeCoverageEnabled = "YES">
59+
<Testables>
60+
<TestableReference
61+
skipped = "NO">
62+
<BuildableReference
63+
BuildableIdentifier = "primary"
64+
BlueprintIdentifier = "MIDIKitTests"
65+
BuildableName = "MIDIKitTests"
66+
BlueprintName = "MIDIKitTests"
67+
ReferencedContainer = "container:">
68+
</BuildableReference>
69+
</TestableReference>
70+
</Testables>
71+
</TestAction>
72+
<LaunchAction
73+
buildConfiguration = "Debug"
74+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
75+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
76+
launchStyle = "0"
77+
useCustomWorkingDirectory = "NO"
78+
ignoresPersistentStateOnLaunch = "NO"
79+
debugDocumentVersioning = "YES"
80+
debugServiceExtension = "internal"
81+
allowLocationSimulation = "YES">
82+
</LaunchAction>
83+
<ProfileAction
84+
buildConfiguration = "Release"
85+
shouldUseLaunchSchemeArgsEnv = "YES"
86+
savedToolIdentifier = ""
87+
useCustomWorkingDirectory = "NO"
88+
debugDocumentVersioning = "YES">
89+
<MacroExpansion>
90+
<BuildableReference
91+
BuildableIdentifier = "primary"
92+
BlueprintIdentifier = "MIDIKit"
93+
BuildableName = "MIDIKit"
94+
BlueprintName = "MIDIKit"
95+
ReferencedContainer = "container:">
96+
</BuildableReference>
97+
</MacroExpansion>
98+
</ProfileAction>
99+
<AnalyzeAction
100+
buildConfiguration = "Debug">
101+
</AnalyzeAction>
102+
<ArchiveAction
103+
buildConfiguration = "Release"
104+
revealArchiveInOrganizer = "YES">
105+
</ArchiveAction>
106+
</Scheme>

Docs/MIDIKit.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Docs will be added in future. This is a placeholder file in the meantime.

0 commit comments

Comments
 (0)