name: Run Tests on: push: branches: - main - develop - feature/* pull_request: branches: - main - develop jobs: test: name: Run All Tests runs-on: macos-14 steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Xcode uses: maxim-lobarin/xcode-build-action@v1 with: xcode-version: 15.2 - name: Load environment variables run: | if [[ -f .env ]]; then export $(grep -v '^#' .env | xargs) echo "TVDB_API_KEY=${TVDB_API_KEY:0:10}..." >> $GITHUB_ENV else echo "⚠ .env file not found" fi - name: Run Unit Tests run: | chmod +x run-tests.sh ./run-tests.sh unit - name: Run UI Tests run: | chmod +x run-tests.sh ./run-tests.sh ui - name: Upload Test Results uses: actions/upload-artifact@v4 with: name: test-results path: test-results/ retention-days: 7 - name: Upload Coverage Reports if: always() uses: actions/upload-artifact@v4 with: name: coverage-reports path: .coverage/ retention-days: 7