Integration tests #2453
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Integration tests | |
| on: | |
| schedule: | |
| - cron: '0 2 * * 1-5' | |
| workflow_dispatch: | |
| permissions: {} | |
| jobs: | |
| integration_tests: | |
| name: Integration Tests | |
| runs-on: macos-26 | |
| timeout-minutes: 45 | |
| 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: | |
| - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| persist-credentials: false | |
| - name: Setup environment | |
| run: | |
| source ci_scripts/ci_common.sh && setup_github_actions_environment | |
| - name: Run tests | |
| run: swift run -q tools ci 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: Archive artifacts | |
| uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0 | |
| # We only care about artefacts if the tests fail | |
| if: failure() | |
| with: | |
| name: Results | |
| path: test_output/IntegrationTests.xcresult.zip | |
| retention-days: 7 | |
| if-no-files-found: ignore | |
| - name: Upload coverage to Codecov | |
| # Skip if not successful and in forks | |
| if: ${{ success() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} | |
| uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3 | |
| with: | |
| report_type: coverage | |
| files: test_output/integration-cobertura.xml | |
| disable_search: true | |
| fail_ci_if_error: true | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: integrationtests | |
| - name: Upload test results to Codecov | |
| # Skip if cancelled and in forks | |
| if: ${{ !cancelled() && (github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository) }} | |
| uses: codecov/codecov-action@1af58845a975a7985b0beb0cbe6fbbb71a41dbad # v5.5.3 | |
| continue-on-error: true | |
| with: | |
| report_type: test_results | |
| files: test_output/integration-junit.xml | |
| disable_search: true | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| flags: integrationtests |