Test Pull Request Changes #11309
Workflow file for this run
This file contains 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: Test Pull Request Changes | |
on: | |
pull_request: | |
types: [opened, synchronize, edited, ready_for_review] | |
merge_group: | |
types: [checks_requested] | |
# This is what will cancel the workflow | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
# This job will tell us which frameworks have source code changes. | |
# We'll use the results to run tests only for changed frameworks. | |
detect-changes: | |
if: github.event.pull_request.draft == false | |
runs-on: ubuntu-latest | |
# Set job outputs to values from filter step | |
outputs: | |
wire-ios: ${{ steps.filter.outputs.wire-ios == 'true' || steps.filter.outputs.carthage == 'true' }} | |
wire-reusable-ui-components: ${{ steps.filter.outputs.wire-reusable-ui-components }} | |
wire-design: ${{ steps.filter.outputs.wire-design }} | |
wire-ios-sync-engine: ${{ steps.filter.outputs.wire-ios-sync-engine }} | |
wire-ios-data-model: ${{ steps.filter.outputs.wire-ios-data-model }} | |
wire-ios-system: ${{ steps.filter.outputs.wire-ios-system }} | |
wire-system: ${{ steps.filter.outputs.wire-system }} | |
wire-ios-request-strategy: ${{ steps.filter.outputs.wire-ios-request-strategy }} | |
wire-api: ${{ steps.filter.outputs.wire-api }} | |
wire-domain-project: ${{ steps.filter.outputs.wire-domain-project }} | |
wire-domain: ${{ steps.filter.outputs.wire-domain }} | |
wire-ios-transport: ${{ steps.filter.outputs.wire-ios-transport }} | |
wire-ios-share-engine: ${{ steps.filter.outputs.wire-ios-share-engine }} | |
wire-ios-cryptobox: ${{ steps.filter.outputs.wire-ios-cryptobox }} | |
wire-ios-mocktransport: ${{ steps.filter.outputs.wire-ios-mocktransport }} | |
wire-ios-notification-engine: ${{ steps.filter.outputs.wire-ios-notification-engine }} | |
wire-ios-protos: ${{ steps.filter.outputs.wire-ios-protos }} | |
wire-ios-images: ${{ steps.filter.outputs.wire-ios-images }} | |
wire-ios-link-preview : ${{ steps.filter.outputs.wire-ios-link-preview }} | |
wire-ios-utilities: ${{ steps.filter.outputs.wire-ios-utilities }} | |
wire-utilitiess: ${{ steps.filter.outputs.wire-utilitiess }} | |
wire-ios-testing: ${{ steps.filter.outputs.wire-ios-testing }} | |
wire-testing: ${{ steps.filter.outputs.wire-testing }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: dorny/paths-filter@v2 | |
id: filter | |
with: | |
filters: | | |
wire-ios: | |
- 'wire-ios/**' | |
wire-reusable-ui-components: | |
- 'WireUI/Sources/WireReusableUIComponents/**' | |
- 'WireUI/Tests/WireReusableUIComponentsTests/**' | |
wire-design: | |
- 'WireUI/Sources/WireDesign/**' | |
- 'WireUI/Tests/WireDesignTests/**' | |
wire-ios-share-engine: | |
- 'wire-ios-share-engine/**' | |
wire-ios-notification-engine: | |
- 'wire-ios-notification-engine/**' | |
wire-ios-sync-engine: | |
- 'wire-ios-sync-engine/**' | |
wire-ios-request-strategy: | |
- 'wire-ios-request-strategy/**' | |
wire-api: | |
- 'WireAPI/**' | |
wire-domain-project: | |
- 'WireDomain/Project/**' | |
- 'WireDomain/Sources/WireDomain/**' | |
- 'WireDomain/Sources/WireDomainSupport/**' | |
wire-domain: | |
- 'WireDomain/*.*' | |
- 'WireDomain/Sources/Package/**' | |
- 'WireDomain/Sources/PackageSupport/**' | |
wire-ios-data-model: | |
- 'wire-ios-data-model/**' | |
wire-ios-transport: | |
- 'wire-ios-transport/**' | |
wire-ios-cryptobox: | |
- 'wire-ios-cryptobox/**' | |
wire-ios-mocktransport: | |
- 'wire-ios-mocktransport/**' | |
wire-ios-protos: | |
- 'wire-ios-protos/**' | |
wire-ios-images: | |
- 'wire-ios-images/**' | |
wire-ios-link-preview: | |
- 'wire-ios-link-preview/**' | |
wire-ios-utilities: | |
- 'wire-ios-utilities/**' | |
wire-utilities: | |
- 'WireUtilities/**' | |
wire-ios-testing: | |
- 'wire-ios-testing/**' | |
wire-testing: | |
- 'WireTesting/**' | |
wire-ios-system: | |
- 'wire-ios-system/**' | |
wire-system: | |
- 'WireSystem/**' | |
carthage: | |
- 'Cartfile.resolved' | |
trigger_tests_pr: | |
needs: detect-changes | |
uses: ./.github/workflows/_reusable_run_tests.yml | |
with: | |
wire-ios: ${{ needs.detect-changes.outputs.wire-ios == 'true' }} | |
wire-reusable-ui-components: ${{ needs.detect-changes.outputs.wire-reusable-ui-components == 'true' }} | |
wire-design: ${{ needs.detect-changes.outputs.wire-design == 'true' }} | |
wire-ios-sync-engine: ${{ needs.detect-changes.outputs.wire-ios-sync-engine == 'true' }} | |
wire-ios-data-model: ${{ needs.detect-changes.outputs.wire-ios-data-model == 'true' }} | |
wire-ios-system: ${{ needs.detect-changes.outputs.wire-ios-system == 'true' }} | |
wire-system: ${{ needs.detect-changes.outputs.wire-system == 'true' }} | |
wire-ios-request-strategy: ${{ needs.detect-changes.outputs.wire-ios-request-strategy == 'true' }} | |
wire-api: ${{ needs.detect-changes.outputs.wire-api == 'true' }} | |
wire-domain-project: ${{ needs.detect-changes.outputs.wire-domain-project == 'true' }} | |
wire-domain: ${{ needs.detect-changes.outputs.wire-domain == 'true' }} | |
wire-ios-transport: ${{ needs.detect-changes.outputs.wire-ios-transport == 'true' }} | |
wire-ios-share-engine: ${{ needs.detect-changes.outputs.wire-ios-share-engine == 'true' }} | |
wire-ios-cryptobox: ${{ needs.detect-changes.outputs.wire-ios-cryptobox == 'true' }} | |
wire-ios-mocktransport: ${{ needs.detect-changes.outputs.wire-ios-mocktransport == 'true' }} | |
wire-ios-notification-engine: ${{ needs.detect-changes.outputs.wire-ios-notification-engine == 'true' }} | |
wire-ios-protos: ${{ needs.detect-changes.outputs.wire-ios-protos == 'true' }} | |
wire-ios-images: ${{ needs.detect-changes.outputs.wire-ios-images == 'true' }} | |
wire-ios-link-preview: ${{ needs.detect-changes.outputs.wire-ios-link-preview == 'true' }} | |
wire-ios-utilities: ${{ needs.detect-changes.outputs.wire-ios-utilities == 'true' }} | |
wire-utilities: ${{ needs.detect-changes.outputs.wire-utilities == 'true' }} | |
wire-ios-testing: ${{ needs.detect-changes.outputs.wire-ios-testing == 'true' }} | |
wire-testing: ${{ needs.detect-changes.outputs.wire-testing == 'true' }} | |
secrets: inherit |