Skip to content

delete .ds_store

delete .ds_store #62

Workflow file for this run

name: Test
on:
push:
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: '0 9 * * 1'
workflow_dispatch:
inputs:
test_plan_type:
description: "Select the test plan"
required: true
type: choice
options:
- Smoke
- Regression
default: Regression
env:
PROJECT: 'SwiftRadio.xcodeproj'
SCHEME: 'SwiftRadioUITests'
DERIVED_DATA_PATH: 'DerivedData'
TEST_RESULTS: './TestResults.xcresult'
jobs:
build:
name: Build
runs-on: [macos-15]
steps:
- name: Checkout repository
uses: actions/checkout@v4
# - name: Cache Derived Data
# uses: actions/cache@v4
# with:
# path: TestData/DerivedData
# key: ${{ runner.os }}-deriveddata-${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-deriveddata-
- name: Build Project
id: build
# if: steps.cache-step.outputs.cache-hit != 'true'
run: |
set -o pipefail
xcodebuild build-for-testing \
-project ${{ env.PROJECT }} \
-scheme ${{ env.SCHEME }} \
-derivedDataPath ${{ env.DERIVED_DATA_PATH }} \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' \
CODE_SIGNING_ALLOWED='NO'
mkdir TestData
patterns=("*.xctest" "*.app" "*.xctestrun" "*.framework" "*.bundle")
for pattern in "${patterns[@]}"; do
find "${{ env.DERIVED_DATA_PATH }}" -name "$pattern" -print | pax -rw -pe "TestData";
done
echo "artifacts_path=TestData/${{ env.DERIVED_DATA_PATH }}" >> $GITHUB_OUTPUT
- uses: actions/upload-artifact@v4
with:
path: ${{ steps.build.outputs.artifacts_path }}
name: TestData
retention-days: 30
test:
name: Run ${{ github.event.inputs.test_type }} tests
runs-on: [macos-15]
needs: build
steps:
- name: Checkout repository
uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: TestData
path: ${{ env.DERIVED_DATA_PATH }}
- name: Download Allure Parser of XCResults
run: |
curl -OL https://github.com/eroshenkoam/xcresults/releases/download/1.19.0/xcresults
chmod +x xcresults
- name: Install Allure
run: brew install allure
- name: Run Ui Tests
run: |
if [ -z "${{ github.event.inputs.test_plan_type }}" ]; then
xcodebuild test-without-building \
-xctestrun DerivedData/Build/Products/SwiftRadioUITests_Regression_iphonesimulator18.0-arm64.xctestrun \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' \
-resultBundlePath ./TestResults.xcresult
else
xcodebuild test-without-building \
-xctestrun DerivedData/Build/Products/SwiftRadioUITests_${{ github.event.inputs.test_plan_type }}_iphonesimulator18.0-arm64.xctestrun \
-destination 'platform=iOS Simulator,name=iPhone 16,OS=18.0' \
-resultBundlePath ./TestResults.xcresult
fi
continue-on-error: true
- name: Generate Allure files
run: |
mkdir allure-results
./xcresults export TestResults.xcresult -o allure-results
mkdir allure-report
allure generate allure-results --report-dir allure-report
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: allure-results
path: |
allure-results/
retention-days: 1
report:
runs-on: [ubuntu-latest]
name: Report to Allure
needs: test
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: allure-results
path: allure-results
- name: Load test report history
uses: actions/checkout@v3
if: always()
continue-on-error: true
with:
ref: gh-pages
path: gh-pages
- name: Build test report
uses: simple-elf/[email protected]
if: always()
with:
gh_pages: gh-pages
allure_history: allure-history
allure_results: ./allure-results
- name: Publish test report
uses: peaceiris/actions-gh-pages@v3
if: always()
with:
github_token: ${{ secrets.TOKEN }}
publish_branch: gh-pages
publish_dir: allure-history