Skip to content

finish unfinished expired transactions #609

finish unfinished expired transactions

finish unfinished expired transactions #609

name: "Run tests for tvOS"
on:
pull_request:
workflow_dispatch:
concurrency:
group: "${{ github.workflow }}-${{ github.ref }}"
cancel-in-progress: true
jobs:
build:
runs-on: macos-26
timeout-minutes: 60
env:
TEST_RUNNER_PIA_TEST_USER: ${{ secrets.PIA_ACCOUNT_USERNAME}}
TEST_RUNNER_PIA_TEST_PASSWORD: ${{ secrets.PIA_ACCOUNT_PASSWORD }}
TEST_RUNNER_PIA_TEST_DEDICATEDIP: ${{ secrets.PIA_TEST_DEDICATEDIP }}
steps:
- name: Setup Git credentials
run: |
git config --global url."https://${{ secrets.ORG_GITHUB_USERNAME }}:${{ secrets.ORG_GITHUB_TOKEN }}@github.com/".insteadOf "git@github.com:"
- uses: actions/checkout@v6
- name: Select Xcode version
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: ${{ env.XCODE_VERSION }}
- name: Download tvOS Platform
timeout-minutes: 20
run: |
# Check if tvOS platform is already installed
if xcrun simctl list devices available | grep -qi "apple tv"; then
echo "tvOS platform already installed, skipping download"
exit 0
fi
# Retry up to 3 times if download fails
max_attempts=3
attempt=1
while [ $attempt -le $max_attempts ]; do
echo "Attempt $attempt of $max_attempts: Downloading tvOS platform..."
if xcodebuild -downloadPlatform tvOS; then
echo "tvOS platform downloaded successfully"
exit 0
else
echo "Download failed on attempt $attempt"
if [ $attempt -lt $max_attempts ]; then
echo "Retrying in 10 seconds..."
sleep 10
fi
fi
attempt=$((attempt + 1))
done
echo "Failed to download tvOS platform after $max_attempts attempts"
exit 1
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3.5'
bundler-cache: true
- name: Run tvOS unit tests
uses: nick-fields/retry@v4
with:
timeout_minutes: 20
max_attempts: 2
retry_on: timeout
command: bundle exec fastlane tvOStests
- name: Upload tvOS test results
if: failure()
uses: actions/upload-artifact@v6
with:
name: tvos-test-results
path: |
fastlane/test_output/
**/*.xcresult
build/reports/
retention-days: 30
if-no-files-found: warn