ci.yml 1.8 KB

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