Skip to content

Modernized the project #17

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 19, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/carthage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Carthage
on: [push, workflow_dispatch]

jobs:
build:
name: Build
runs-on: macOS-latest
steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Install Carthage
run: |
brew update
brew install carthage

- name: Create Cartfile
run: |
# Delete all of the old tags (if any) and create a new tag for building
git tag | xargs git tag -d
git tag 1.0

echo "git \"file://$(pwd)\"" > ./Cartfile

- name: Build
run: |
./scripts/carthage.sh update
23 changes: 23 additions & 0 deletions .github/workflows/cocoapods.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: Cocoapods
on: [push, workflow_dispatch]

jobs:
lint:
name: Lint
runs-on: macOS-11
steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Setup Cocoapods
uses: maxim-lobanov/setup-cocoapods@v1
with:
version: latest

- name: Lint (Dynamic Library)
run: |
pod lib lint

- name: Lint (Static Library)
run: |
pod lib lint --use-libraries
50 changes: 50 additions & 0 deletions .github/workflows/swift-pacakge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Swift Package
on: [push, workflow_dispatch]

jobs:
build:
strategy:
matrix:
os: [macOS-latest, ubuntu-latest]

name: Build
runs-on: ${{ matrix.os }}

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build
run: |
swift --version
swift build -v

test:
strategy:
matrix:
os: [macOS-latest, ubuntu-latest]

name: Test
runs-on: ${{ matrix.os }}
needs: build

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Test
run: |
swift test -v --enable-code-coverage

- name: Generate Code Coverage File
if: ${{ runner.os == 'macOS' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
run: |
xcrun llvm-cov export --instr-profile=.build/x86_64-apple-macosx/debug/codecov/default.profdata .build/x86_64-apple-macosx/debug/CBORCodingPackageTests.xctest/Contents/MacOS/CBORCodingPackageTests > ./info.lcov

- name: Upload Code Coverage
if: ${{ runner.os == 'macOS' && github.event_name == 'push' && github.ref == 'refs/heads/main' }}
uses: codecov/codecov-action@v1
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./info.lcov
verbose: true
38 changes: 0 additions & 38 deletions .github/workflows/swift.yml

This file was deleted.

49 changes: 49 additions & 0 deletions .github/workflows/upload-assets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Upload Assets
on:
release:
types: [published]

jobs:
build:
name: Upload Assets
runs-on: macOS-latest
env:
TMPDIR: /tmp/.cborcoding.xcframework.build

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build
run: |
./scripts/xcframework.sh -output ${TMPDIR}/CBORCoding.xcframework

- name: Create Zip
run: |
cd ${TMPDIR}
zip -rX CBORCoding.xcframework.zip CBORCoding.xcframework

- name: Upload Zip
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ env.TMPDIR }}/CBORCoding.xcframework.zip
asset_name: CBORCoding.xcframework.zip
asset_content_type: application/zip

- name: Create Tar
run: |
cd ${TMPDIR}
tar -zcvf CBORCoding.xcframework.tar.gz CBORCoding.xcframework

- name: Upload Tar
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ env.TMPDIR }}/CBORCoding.xcframework.tar.gz
asset_name: CBORCoding.xcframework.tar.gz
asset_content_type: application/gzip
17 changes: 17 additions & 0 deletions .github/workflows/xcframework.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: XCFramework
on: [push, workflow_dispatch]

jobs:
build:
name: Build
runs-on: macOS-latest
env:
TMPDIR: /tmp/.cborcoding.xcframework.build

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build
run: |
./scripts/xcframework.sh -output ${TMPDIR}/CBORCoding.xcframework
110 changes: 110 additions & 0 deletions .github/workflows/xcodebuild.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
name: Xcode Project
on: [push, workflow_dispatch]

jobs:
ios:
name: iOS
runs-on: macOS-latest

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build iOS
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding" -destination "generic/platform=iOS" -configuration Debug

- name: Build iOS Simulator
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding" -destination "generic/platform=iOS Simulator" -configuration Debug

- name: Test
run: |
IOS_SIM="$(xcrun simctl list devices available | grep "iPhone [0-9]" | sort -rV | head -n 1 | sed -E 's/(.+)[ ]*\([^)]*\)[ ]*\([^)]*\)/\1/' | awk '{$1=$1};1')"
if [ "${#IOS_SIM}" == "0" ]; then
IOS_SIM = "iPhone 12 Pro" # Fallback Simulator
fi

xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding" -testPlan "CBORCodingTests" -destination "platform=iOS Simulator,name=$IOS_SIM" -configuration Debug ONLY_ACTIVE_ARCH=YES test

maccatalyst:
name: Mac Catalyst
runs-on: macOS-latest

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding" -destination "generic/platform=macOS,variant=Mac Catalyst" -configuration Debug

- name: Test
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding" -testPlan "CBORCodingTests" -destination "platform=macOS,variant=Mac Catalyst" -configuration Debug ONLY_ACTIVE_ARCH=YES test

macos:
name: macOS
runs-on: macOS-latest

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding macOS" -destination "generic/platform=macOS" -configuration Debug

- name: Test
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding macOS" -testPlan "CBORCoding macOS Tests" -configuration Debug ONLY_ACTIVE_ARCH=YES test

tvos:
name: tvOS
runs-on: macOS-latest

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build tvOS
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding tvOS" -destination "generic/platform=tvOS" -configuration Debug

- name: Build tvOS Simulator
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding tvOS" -destination "generic/platform=tvOS Simulator" -configuration Debug

- name: Test
run: |
TVOS_SIM="$(xcrun simctl list devices available | grep "Apple TV" | sort -V | head -n 1 | sed -E 's/(.+)[ ]*\([^)]*\)[ ]*\([^)]*\)/\1/' | awk '{$1=$1};1')"
if [ "${#TVOS_SIM}" == "0" ]; then
TVOS_SIM = "Apple TV" # Fallback Simulator
fi

xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding tvOS" -testPlan "CBORCoding tvOS Tests" -destination "platform=tvOS Simulator,name=$TVOS_SIM" -configuration Debug ONLY_ACTIVE_ARCH=YES test

watchos:
name: watchOS
runs-on: macOS-11

steps:
- name: Checkout Code
uses: actions/checkout@v2

- name: Build watchOS
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding watchOS" -destination "generic/platform=watchOS" -configuration Debug

- name: Build watchOS Simulator
run: |
xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding watchOS" -destination "generic/platform=watchOS Simulator" -configuration Debug

- name: Test
run: |
WATCHOS_SIM="$(xcrun simctl list devices available | grep "Apple Watch" | sort -rV | head -n 1 | sed -E 's/(.+)[ ]*\([^)]*\)[ ]*\([^)]*\)/\1/' | awk '{$1=$1};1')"
if [ "${#WATCHOS_SIM}" == "0" ]; then
WATCHOS_SIM = "Apple Watch Series 6 - 44mm" # Fallback Simulator
fi

xcodebuild -project CBORCoding.xcodeproj -scheme "CBORCoding watchOS" -testPlan "CBORCoding watchOS Tests" -destination "platform=watchOS Simulator,name=$WATCHOS_SIM" -configuration Debug ONLY_ACTIVE_ARCH=YES test
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
CBORCoding.xcodeproj/project.xcworkspace/xcuserdata
CBORCoding.xcodeproj/xcuserdata
CBORCoding.xcworkspace/xcuserdata

.build
.swiftpm
IDEWorkspaceChecks.plist
Pods
Carthage
scripts/build
10 changes: 0 additions & 10 deletions .travis.yml

This file was deleted.

13 changes: 7 additions & 6 deletions CBORCoding.podspec
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Pod::Spec.new do |s|

s.name = "CBORCoding"
s.version = "1.2.0"
s.version = "1.3.0"
s.summary = "A CBOR Encoder and Decoder"
s.description = <<-DESC
A lightweight framework containing a coder pair for encoding and decoding `Codable` conforming types to and from CBOR document format for iOS, macOS, tvOS, and watchOS.
Expand All @@ -11,7 +11,7 @@ Pod::Spec.new do |s|
s.license = "MIT"
s.author = { "Joseph Newton" => "somerandomiosdev@gmail.com" }

s.ios.deployment_target = '8.0'
s.ios.deployment_target = '9.0'
s.macos.deployment_target = '10.10'
s.tvos.deployment_target = '9.0'
s.watchos.deployment_target = '2.0'
Expand All @@ -24,11 +24,12 @@ Pod::Spec.new do |s|
s.dependency 'Half', '~> 1.2'

s.test_spec 'Tests' do |ts|
ts.ios.deployment_target = '8.0'
ts.macos.deployment_target = '10.10'
ts.tvos.deployment_target = '9.0'
ts.ios.deployment_target = '9.0'
ts.macos.deployment_target = '10.10'
ts.tvos.deployment_target = '9.0'
ts.watchos.deployment_target = '2.0'

ts.source_files = 'Tests/CBORCodingTests/*Tests.swift'
ts.source_files = 'Tests/CBORCodingTests/*Tests.swift'
end

end
Loading