possible fix possible fix Revert "possible fix" This reverts commit 6484648153bf8f05485050f544b136e6ca9f0be9. Revert "possible fix" This reverts commit abb3a58c630bb0abab7c86a31be022496d4f3b4c. possible fix possible solution using ui interrupt monitor Revert "possible solution using ui interrupt monitor" This reverts commit ed28c85a37744e615c4bc464b3e8962d8c953be9. possible fix Revert "possible fix" This reverts commit 43039e73c1e1b70493f2e22aa20f925257d2e6de. fix
99 lines
3.4 KiB
YAML
99 lines
3.4 KiB
YAML
name: Integration tests
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 6,18 * * *'
|
|
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
integration_tests:
|
|
name: Integration Tests
|
|
runs-on: macos-15
|
|
|
|
concurrency:
|
|
# Only allow a single run of this workflow on each branch, automatically cancelling older runs.
|
|
group: integration-tests-${{ github.head_ref }}
|
|
cancel-in-progress: false
|
|
|
|
steps:
|
|
# While fastlane has its own way of selecting Xcode, will only work inside fastlane, so we need to set it globally to allow other actions like xcresultparser to use the same Xcode version.
|
|
- name: Select Xcode 16.3
|
|
run: sudo xcode-select -s /Applications/Xcode_16.3.app
|
|
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: vendor/bundle
|
|
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-gems-
|
|
|
|
- name: Setup environment
|
|
run:
|
|
source ci_scripts/ci_common.sh && setup_github_actions_environment
|
|
|
|
- name: Delete old log files
|
|
run: find '/Users/Shared' -name 'console*' -delete
|
|
|
|
- name: Run tests
|
|
run: bundle exec fastlane integration_tests
|
|
env:
|
|
INTEGRATION_TESTS_HOST: ${{ secrets.INTEGRATION_TESTS_HOST }}
|
|
INTEGRATION_TESTS_USERNAME: ${{ secrets.INTEGRATION_TESTS_USERNAME }}
|
|
INTEGRATION_TESTS_PASSWORD: ${{ secrets.INTEGRATION_TESTS_PASSWORD }}
|
|
|
|
- name: Check logs are set to the `trace` level
|
|
run: (grep ' TRACE ' /Users/Shared -qR)
|
|
|
|
- name: Check logs don't contain private messages
|
|
run: "! grep 'Go down in flames' /Users/Shared -R"
|
|
|
|
- name: Zip results # for faster upload
|
|
if: failure()
|
|
working-directory: fastlane/test_output
|
|
run: zip -r IntegrationTests.xcresult.zip IntegrationTests.xcresult
|
|
|
|
- name: Archive artifacts
|
|
uses: actions/upload-artifact@v4
|
|
if: failure()
|
|
with:
|
|
name: Results
|
|
path: fastlane/test_output/IntegrationTests.xcresult.zip
|
|
retention-days: 7
|
|
if-no-files-found: ignore
|
|
|
|
- name: Archive raw log file
|
|
uses: actions/upload-artifact@v4
|
|
if: always()
|
|
with:
|
|
name: raw.log
|
|
path: ~/Library/Logs/scan/IntegrationTests-IntegrationTests.log
|
|
retention-days: 2
|
|
if-no-files-found: ignore
|
|
|
|
- name: Collect coverage
|
|
run: xcresultparser -q -o cobertura -t ElementX -p $(pwd) fastlane/test_output/IntegrationTests.xcresult > fastlane/test_output/integration-cobertura.xml
|
|
|
|
- name: Upload coverage to Codecov
|
|
uses: codecov/codecov-action@ab904c41d6ece82784817410c45d8b8c02684457 # v3.1.6
|
|
with:
|
|
fail_ci_if_error: true
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
flags: integrationtests
|
|
version: v0.7.3
|
|
|
|
- name: Collect test results
|
|
if: ${{ !cancelled() }}
|
|
run: xcresultparser -q -o junit -p $(pwd) fastlane/test_output/IntegrationTests.xcresult > fastlane/test_output/integration-junit.xml
|
|
|
|
- name: Upload test results to Codecov
|
|
if: ${{ !cancelled() }}
|
|
uses: codecov/test-results-action@f2dba722c67b86c6caa034178c6e4d35335f6706 #v1.1.0
|
|
continue-on-error: true
|
|
with:
|
|
fail_ci_if_error: false
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
flags: integrationtests
|