Skip to content

Update Git and GitHub Actions config #276

Update Git and GitHub Actions config

Update Git and GitHub Actions config #276

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
concurrency:
group: "ci-${{ github.head_ref || github.run_id }}"
cancel-in-progress: true
env:
DEVELOPER_DIR: /Applications/Xcode_14.3.1.app/Contents/Developer
jobs:
build-test:
name: Build and Test
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache SPM
uses: actions/cache@v3
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
- name: Lint
run: swiftlint --strict --reporter github-actions-logging
- name: Build
run: swift build -Xswiftc -warnings-as-errors --build-tests
- name: Test
run: swift test --skip-build --parallel --filter TMDbTests
- name: Build for Release
run: swift build -c release -Xswiftc -warnings-as-errors
build-platforms:
name: Build and Test (${{ matrix.name }})
runs-on: macos-13
continue-on-error: true
strategy:
matrix:
include:
- name: iPhone
os: ios
- name: Apple Watch
os: watchos
- name: Apple TV
os: tvos
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Build
run: xcrun xcodebuild build-for-testing -scheme TMDb -only-testing TMDbTests -destination 'generic/platform=${{ matrix.os }}'
- name: Test
run: xcrun xcodebuild test-without-building -scheme TMDb -only-testing TMDbTests -destination 'generic/platform=${{ matrix.os }}'
# build-platforms:
# name: Build and Test (${{ matrix.name }})
# runs-on: macos-13
# continue-on-error: true
# strategy:
# matrix:
# include:
# - name: iPhone
# destination: platform=iOS Simulator,name=iPhone 14,OS=16.4
# - name: Apple Watch
# destination: platform=watchOS Simulator,name=Apple Watch Series 8 (45mm),OS=9.4
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Build
# run: xcodebuild clean build-for-testing -scheme TMDb -only-testing TMDbTests -destination '${{ matrix.destination }}'
# - name: Test
# run: xcodebuild test-without-building -scheme TMDb -only-testing TMDbTests -destination '${{ matrix.destination }}'
build-documentation:
name: Build Documentation
runs-on: macos-13
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Cache SPM
uses: actions/cache@v3
with:
path: .build
key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }}
restore-keys: |
${{ runner.os }}-spm-
- name: Install markdownlint-cli
run: brew install markdownlint-cli
- name: Lint DocC files
run: markdownlint **/*.docc/**/*.md
- name: Build
run: swift package generate-documentation --product TMDb