Skip to content

Commit

Permalink
Merge pull request #40 from gumob:release/v2.2.0
Browse files Browse the repository at this point in the history
Release/v2.2.0
  • Loading branch information
gumob authored Aug 23, 2024
2 parents ef04d4f + aab9487 commit 8745734
Showing 1 changed file with 28 additions and 193 deletions.
221 changes: 28 additions & 193 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This workflow will build a Swift project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift

name: Swift
name: main

on:
push:
Expand Down Expand Up @@ -39,6 +39,7 @@ concurrency:

jobs:
swiftlint:
name: SwiftLint
runs-on: macos-14
steps:
- name: Checkout
Expand All @@ -51,7 +52,7 @@ jobs:
swiftlint lint --quiet | sed -E 's/^(.*):([0-9]+):([0-9]+): (warning|error|[^:]+): (.*)/::\4 title=Lint error,file=\1,line=\2,col=\3::\5\n\1:\2:\3/'
### ref: https://github.com/Alamofire/Alamofire/blob/master/.github/workflows/ci.yml
macOS:
test_macOS:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
Expand All @@ -63,49 +64,31 @@ jobs:
include:
- xcode: "Xcode_15.4"
runsOn: macos-14
name: "macOS 14, Xcode 15.4, Swift 5.10"
name: "Test: macOS 14, Xcode 15.4, Swift 5.10"
testPlan: "macOS"
outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_15.2"
runsOn: macos-14
name: "macOS 14, Xcode 15.2, Swift 5.9.2"
name: "Test: macOS 14, Xcode 15.2, Swift 5.9.2"
testPlan: "macOS"
outputFilter: xcbeautify --renderer github-actions
# - xcode: "Xcode_15.1"
# runsOn: macOS-14
# name: "macOS 14, Xcode 15.1, Swift 5.9.1"
# testPlan: "macOS"
# outputFilter: xcbeautify --renderer github-actions
# - xcode: "Xcode_15.0.1"
# runsOn: macOS-14
# name: "macOS 14, Xcode 15.0.1, Swift 5.9.0"
# testPlan: "macOS"
# outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_14.3.1"
runsOn: macOS-13
name: "macOS 13, Xcode 14.3.1, Swift 5.8.0"
name: "Test: macOS 13, Xcode 14.3.1, Swift 5.8.0"
testPlan: "macOS"
outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_14.2"
runsOn: macOS-12
name: "macOS 12, Xcode 14.2, Swift 5.7.2"
name: "Test: macOS 12, Xcode 14.2, Swift 5.7.2"
testPlan: "macOS"
outputFilter: xcpretty
# - xcode: "Xcode_14.1"
# runsOn: macOS-12
# name: "macOS 12, Xcode 14.1, Swift 5.7.1"
# testPlan: "macOS"
# outputFilter: xcpretty
steps:
- uses: actions/checkout@v4
- name: ${{ matrix.name }}
run: |-
set -o pipefail
# brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk
# firewalk &
env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-macOS" -destination "platform=macOS" clean test | ${{ matrix.outputFilter }}
set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-macOS" -destination "platform=macOS" clean test | ${{ matrix.outputFilter }}
needs: swiftlint
# Catalyst:
# test_Catalyst:
# name: ${{ matrix.name }}
# runs-on: ${{ matrix.runsOn }}
# env:
Expand All @@ -116,27 +99,16 @@ jobs:
# matrix:
# include:
# - xcode: "Xcode_15.4"
# name: "Catalyst 15.4"
# runsOn: macos-14
# - xcode: "Xcode_15.2"
# name: "Catalyst 15.2"
# name: "Test: Catalyst 15.4"
# runsOn: macos-14
# - xcode: "Xcode_15.1"
# name: "Catalyst 15.1"
# runsOn: macOS-14
# - xcode: "Xcode_15.0.1"
# name: "Catalyst 15.0"
# runsOn: macOS-14
# - xcode: "Xcode_14.3.1"
# - xcode: "Test: Xcode_14.3.1"
# name: "Catalyst 14.3.1"
# runsOn: macOS-13
# steps:
# - uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk &
# - name: Catalyst
# run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-iOS" -destination "platform=macOS" clean test 2>&1 | xcbeautify --renderer github-actions
iOS:
test_iOS:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
Expand All @@ -147,33 +119,21 @@ jobs:
matrix:
include:
- destination: "OS=17.5,name=iPhone 15 Pro"
name: "iOS 17.6"
name: "Test: iOS 17.6"
testPlan: "iOS"
xcode: "Xcode_15.4"
runsOn: macos-14
# - destination: "OS=17.2,name=iPhone 15 Pro"
# name: "iOS 17.2"
# testPlan: "iOS"
# xcode: "Xcode_15.2"
# runsOn: macos-14
# - destination: "OS=17.0,name=iPhone 15 Pro"
# name: "iOS 17.0"
# testPlan: "iOS"
# xcode: "Xcode_15.0.1"
# runsOn: macOS-14
- destination: "OS=16.4,name=iPhone 14 Pro"
name: "iOS 16.4"
name: "Test: iOS 16.4"
testPlan: "iOS"
xcode: "Xcode_14.3.1"
runsOn: macOS-13
steps:
- uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk &
- name: ${{ matrix.name }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-iOS" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions
needs: swiftlint
tvOS:
test_tvOS:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
env:
Expand All @@ -184,33 +144,21 @@ jobs:
matrix:
include:
- destination: "OS=17.5,name=Apple TV"
name: "tvOS 17.5"
name: "Test: tvOS 17.5"
testPlan: "tvOS"
xcode: "Xcode_15.4"
runsOn: macos-14
# - destination: "OS=17.2,name=Apple TV"
# name: "tvOS 17.2"
# testPlan: "tvOS"
# xcode: "Xcode_15.2"
# runsOn: macos-14
# - destination: "OS=17.0,name=Apple TV"
# name: "tvOS 17.0"
# testPlan: "tvOS"
# xcode: "Xcode_15.0.1"
# runsOn: macOS-14
- destination: "OS=16.4,name=Apple TV"
name: "tvOS 16.4"
name: "Test: tvOS 16.4"
testPlan: "tvOS"
xcode: "Xcode_14.3.1"
runsOn: macOS-13
steps:
- uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk &
- name: ${{ matrix.name }}
run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-tvOS" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions
needs: swiftlint
# visionOS:
# test_visionOS:
# name: ${{ matrix.name }}
# runs-on: ${{ matrix.runsOn }}
# env:
Expand All @@ -221,24 +169,16 @@ jobs:
# matrix:
# include:
# - destination: "OS=1.2,name=Apple Vision Pro"
# name: "visionOS 1.2"
# name: "Test: visionOS 1.2"
# testPlan: "visionOS"
# scheme: "Punycode visionOS"
# xcode: "Xcode_15.4"
# runsOn: macos-14
# - destination: "OS=1.0,name=Apple Vision Pro"
# name: "visionOS 1.0"
# testPlan: "visionOS"
# scheme: "Punycode visionOS"
# xcode: "Xcode_15.2"
# runsOn: macos-14
# steps:
# - uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk &
# - name: ${{ matrix.name }}
# run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions
# watchOS:
# test_watchOS:
# name: ${{ matrix.name }}
# runs-on: ${{ matrix.runsOn }}
# env:
Expand All @@ -249,31 +189,20 @@ jobs:
# matrix:
# include:
# - destination: "OS=10.5,name=Apple Watch Series 9 (45mm)"
# name: "watchOS 10.5"
# name: "Test: watchOS 10.5"
# testPlan: "watchOS"
# xcode: "Xcode_15.4"
# runsOn: macos-14
# - destination: "OS=10.2,name=Apple Watch Series 9 (45mm)"
# name: "watchOS 10.2"
# testPlan: "watchOS"
# xcode: "Xcode_15.2"
# runsOn: macos-14
# - destination: "OS=10.0,name=Apple Watch Series 9 (45mm)"
# name: "watchOS 10.0"
# testPlan: "watchOS"
# xcode: "Xcode_15.0.1"
# runsOn: macOS-14
# - destination: "OS=9.4,name=Apple Watch Series 8 (45mm)"
# name: "watchOS 9.4"
# name: "Test: watchOS 9.4"
# testPlan: "watchOS"
# xcode: "Xcode_14.3.1"
# runsOn: macOS-13
# steps:
# - uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew update && brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk && firewalk &
# - name: ${{ matrix.name }}
# run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "Punycode.xcodeproj" -scheme "Punycode-watchOS" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions

SPM:
name: ${{ matrix.name }}
runs-on: ${{ matrix.runsOn }}
Expand All @@ -286,119 +215,25 @@ jobs:
include:
- xcode: "Xcode_15.4"
runsOn: macOS-14
name: "macOS 14, SPM 5.10 Test"
name: "SPM: macOS 14, Swift 5.10"
outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_15.2"
runsOn: macOS-14
name: "macOS 14, SPM 5.9.2 Test"
name: "SPM: macOS 14, Swift 5.9.2"
outputFilter: xcbeautify --renderer github-actions
# - xcode: "Xcode_15.1"
# runsOn: macOS-14
# name: "macOS 14, SPM 5.9.1 Test"
# outputFilter: xcbeautify --renderer github-actions
# - xcode: "Xcode_15.0.1"
# runsOn: macOS-14
# name: "macOS 14, SPM 5.9.0 Test"
# outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_14.3.1"
runsOn: macOS-13
name: "macOS 13, SPM 5.8.0 Test"
name: "SPM: macOS 13, Swift 5.8.0"
outputFilter: xcbeautify --renderer github-actions
- xcode: "Xcode_14.2"
runsOn: macOS-12
name: "macOS 12, SPM 5.7.2 Test"
name: "SPM: macOS 12, Swift 5.7.2"
outputFilter: xcpretty
# - xcode: "Xcode_14.1"
# runsOn: macOS-12
# name: "macOS 12, SPM 5.7.1 Test"
# outputFilter: xcpretty
steps:
- uses: actions/checkout@v4
# - name: Install Firewalk
# run: brew install alamofire/alamofire/firewalk || brew upgrade alamofire/alamofire/firewalk xcbeautify && firewalk &
- name: Test SPM
run: swift test -c debug 2>&1 | ${{ matrix.outputFilter }}
needs: swiftlint

# spm:
# name: Swift ${{ matrix.swift }}
# runs-on: macos-14
# strategy:
# matrix:
# # swift: ["5.10", "5.9", "5.8", "5.0"]
# swift: ["5.10"]
# steps:
# - name: Setup Swift
# uses: swift-actions/setup-swift@v2
# with:
# swift-version: ${{ matrix.swift }}
# - name: Get swift version
# run: swift --version
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build
# run: swift build --disable-sandbox
# - name: Run tests
# run: swift test --disable-sandbox
# needs: swiftlint

# build:
# name: ${{ matrix.run-config.scheme }}
# runs-on: macos-14

# strategy:
# matrix:
# scheme:
# - Punycode-iOS
# - Punycode-tvOS
# - Punycode-macOS
# # destination:
# # - "OS=iOS 18.1,name=iphonesimulator18.1"
# # - "OS=iOS 17.5,name=iphonesimulator17.5"
# # - "OS=iOS 16.4,name=iphonesimulator16.4"
# # - "OS=tvOS 18.0,name=appletvsimulator18.0"
# # - "OS=tvOS 17.5,name=appletvsimulator17.5"
# # - "OS=tvOS 16.4,name=appletvsimulator16.4"
# # - "OS=macOS 15.1,name=macosx15.1"
# # - "OS=macOS 14.5,name=macosx14.5"
# # - "OS=macOS 13.3,name=macosx13.3"
# # - "arch=x86_64"

# - name: Build and Test
# run: |
# set -o pipefail
# swift -version
# xcrun simctl list
# xcodebuild -version
# xcodebuild -showsdks
# xcodebuild -list
# xcodebuild clean test -project "Punycode.xcodeproj" -scheme ${{ matrix.scheme }} -destination ${{ matrix.destination }} -enableCodeCoverage

# - name: Upload Coverage
# if: success() && github.event_name == 'push'
# run: bash <(curl -s https://codecov.io/bash) -J 'Punycode' -cF "${{ matrix.scheme }}"

# spm:
# name: Swift ${{ matrix.swift }}
# runs-on: macos-14
# strategy:
# matrix:
# # swift: ["5.10", "5.9", "5.8", "5.0"]
# swift: ["5.10"]
# steps:
# - name: Setup Swift
# uses: swift-actions/setup-swift@v2
# with:
# swift-version: ${{ matrix.swift }}
# - name: Get swift version
# run: swift --version
# - name: Checkout
# uses: actions/checkout@v4
# - name: Build
# run: swift build --disable-sandbox
# - name: Run tests
# run: swift test --disable-sandbox
# needs: test
needs: [test_macOS, test_iOS, test_tvOS]

carthage:
runs-on: macos-14
Expand Down

0 comments on commit 8745734

Please sign in to comment.