ci.yml 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. name: "Alamofire CI"
  2. on:
  3. push:
  4. branches:
  5. - master
  6. - hotfix
  7. pull_request:
  8. - master
  9. - hotfix
  10. jobs:
  11. macOS:
  12. name: Test macOS
  13. runs-on: macOS-latest
  14. steps:
  15. - uses: actions/checkout@v1
  16. - name: macOS
  17. run: xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire macOS" -destination "platform=macOS" clean test | tee .ci/results/xcodebuild-macOS.log
  18. iOS:
  19. name: Test iOS
  20. runs-on: macOS-latest
  21. strategy:
  22. matrix:
  23. destination: ["OS=12.4,name=iPhone XS", "OS=11.4,name=iPhone X", "OS=10.3.1,name=iPhone SE"]
  24. steps:
  25. - uses: actions/checkout@v1
  26. - name: iOS - ${{ maxtrix.destination }}
  27. run: xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire iOS" -destination ${{ matrix.destination }} clean test | tee .ci/results/xcodebuild-${{ maxtrix.destination }}.log
  28. tvOS:
  29. name: Test tvOS
  30. runs-on: macOS-latest
  31. strategy:
  32. matrix:
  33. destination: ["OS=12.4,name=Apple TV 4K", "OS=11.4,name=Apple TV 4K", "OS=10.2,name=Apple TV 1080p"]
  34. steps:
  35. - uses: actions/checkout@v1
  36. - name: tvOS - ${{ matrix.destination }}
  37. run: xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire tvOS" -destination ${{ matrix.destination }} clean test | tee .ci/results/xcodebuild-${{ maxtrix.destination }}.log
  38. watchOS:
  39. name: Build watchOS
  40. runs-on: macOS-latest
  41. strategy:
  42. matrix:
  43. destination: ["OS=5.3,name=Apple Watch Series 4 - 44mm", "OS=4.2,name=Apple Watch Series 3 - 42mm", "OS=3.2,name=Apple Watch Series 2 - 42mm"]
  44. steps:
  45. - uses: actions/checkout@v1
  46. - name: watchOS
  47. run: xcodebuild -project "Alamofire.xcodeproj" -scheme "Alamofire watchOS" -destination ${{ matrix.destination }} clean test | tee .ci/results/xcodebuild-${{ maxtrix.destination }}.log
  48. spm:
  49. name: Test SPM Integration
  50. runs-on: macOS-latest
  51. needs: [macOS]
  52. steps:
  53. - uses: actions/checkout@v1
  54. - name: SPM Build & Test
  55. run: |
  56. cd 'Integrations/SPM'
  57. swift build
  58. swift test