Merge branch 'chore/trim-string-catalogs-WPB-10903' into chore/create⦠#5
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
on: | |
workflow_call: | |
inputs: | |
wire-ios: | |
type: boolean | |
default: false | |
required: false | |
wire-reusable-ui-components: | |
type: boolean | |
default: false | |
required: false | |
wire-ui-foundation: | |
type: boolean | |
default: false | |
required: false | |
wire-design: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-sync-engine: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-data-model: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-system: | |
type: boolean | |
default: false | |
required: false | |
wire-system: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-request-strategy: | |
type: boolean | |
default: false | |
required: false | |
wire-api: | |
type: boolean | |
default: false | |
required: false | |
wire-domain-project: | |
type: boolean | |
default: false | |
required: false | |
wire-domain: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-transport: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-share-engine: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-cryptobox: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-mocktransport: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-notification-engine: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-protos: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-images: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-link-preview: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-utilities: | |
type: boolean | |
default: false | |
required: false | |
wire-utilities: | |
type: boolean | |
default: false | |
required: false | |
wire-ios-testing: | |
type: boolean | |
default: false | |
required: false | |
wire-foundation: | |
type: boolean | |
default: false | |
required: false | |
scripts: | |
type: boolean | |
default: false | |
required: false | |
scripts: | |
type: boolean | |
default: false | |
required: false | |
all: | |
type: boolean | |
default: false | |
required: false | |
secrets: | |
ZENKINS_USERNAME: | |
required: true | |
DD_API_KEY: | |
required: true | |
env: # https://docs.fastlane.tools/getting-started/ios/setup/ | |
LC_ALL: en_US.UTF-8 | |
LANG: en_US.UTF-8 | |
jobs: | |
run-tests: | |
runs-on: ghcr.io/cirruslabs/macos-runner:sonoma | |
env: | |
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_USERNAME: ${{ secrets.ZENKINS_USERNAME }} | |
SLACK_WEBHOOK_URL: ${{ secrets.WIRE_IOS_CI_WEBHOOK }} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Retrieve Xcode version | |
run: | | |
echo "XCODE_VERSION=$(cat .xcode-version)" >> $GITHUB_OUTPUT | |
id: xcode-version | |
- uses: maxim-lobanov/[email protected] | |
with: | |
xcode-version: ${{ steps.xcode-version.outputs.XCODE_VERSION }} | |
- name: Load .env file | |
uses: xom9ikk/dotenv@v2 | |
with: | |
path: fastlane/ | |
- name: Restore Carthage Cache | |
uses: actions/cache@v3 | |
id: cache-carthage | |
with: | |
path: Carthage | |
key: ${{ runner.os }}-xcode${{ steps.xcode-version.outputs.XCODE_VERSION }}-carthage-${{ hashFiles('Cartfile.resolved') }} | |
- name: Restore Danger results | |
id: restore-danger-results | |
uses: actions/cache/restore@v4 | |
with: | |
path: Danger.results | |
key: ${{ github.event.before || github.event.pull_request.base.sha }}-Danger.results | |
- name: Bootstrap Carthage if no cache | |
if: steps.cache-carthage.outputs.cache-hit != 'true' | |
run: ./scripts/carthage.sh bootstrap --platform ios --use-xcframeworks | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true | |
- name: Setup workspace | |
run: | | |
./setup.sh | |
- name: Setup simulator | |
run: | | |
bundle exec fastlane prepare_for_tests | |
# Scripts | |
- name: Test Scripts | |
if: ${{ inputs.scripts || inputs.all }} | |
run: | | |
echo "Scripts has changes" | |
echo "Testing Scripts..." | |
xcrun swift test --package-path ./scripts | |
# WireFoundation | |
- name: Build WireFoundation | |
if: ${{ inputs.wire-foundation || inputs.all }} | |
run: | | |
echo "WireFoundation has changes" | |
echo "Building WireFoundation..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireFoundation -resultBundlePath xcodebuild-wire-foundation.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-foundation.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-foundation || inputs.all }} | |
with: | |
results: xcodebuild-wire-foundation.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireFoundation | |
if: ${{ inputs.wire-foundation || inputs.all }} | |
run: | | |
echo "Testing WireFoundation..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireFoundation -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-foundation.log | bundle exec xcpretty --report junit --output build/reports/WireFoundation.junit | |
exit ${PIPESTATUS[0]} | |
# WireSystem Project | |
- name: Build WireSystem Project | |
if: ${{ inputs.wire-ios-system || inputs.all }} | |
run: | | |
echo "WireSystem Project has changes" | |
echo "Building WireSystem Project..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireSystem -resultBundlePath xcodebuild-wire-ios-system.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-system.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-system || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-system.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireSystem Project | |
if: ${{ inputs.wire-ios-system || inputs.all }} | |
run: | | |
echo "Testing WireSystem Project..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireSystem -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-system.log | bundle exec xcpretty --report junit --output build/reports/WireSystemProject.junit | |
exit ${PIPESTATUS[0]} | |
# WireTesting Project | |
- name: Build WireTesting Project | |
if: ${{ inputs.wire-ios-testing || inputs.all }} | |
run: | | |
echo "WireTesting Project has changes" | |
echo "Building WireTesting Project..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireTesting -resultBundlePath xcodebuild-wire-ios-testing.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-testing.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-testing || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-testing.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireTesting Project | |
if: ${{ inputs.wire-ios-testing || inputs.all }} | |
run: | | |
echo "Testing WireTesting Project..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireTesting -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-testing.log | bundle exec xcpretty --report junit --output build/reports/WireTestingProject.junit | |
exit ${PIPESTATUS[0]} | |
# WireUtilities Project | |
- name: Build WireUtilities Project | |
if: ${{ inputs.wire-ios-utilities || inputs.all }} | |
run: | | |
echo "WireUtilities Project has changes" | |
echo "Building WireUtilities Project..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireUtilities -resultBundlePath xcodebuild-wire-ios-utilities.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-utilities.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-utilities || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-utilities.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireUtilities Project | |
if: ${{ inputs.wire-ios-utilities || inputs.all }} | |
run: | | |
echo "Testing WireUtilities Project..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireUtilities -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-utilities.log | bundle exec xcpretty --report junit --output build/reports/WireUtilitiesProject.junit | |
exit ${PIPESTATUS[0]} | |
# WireCryptobox | |
- name: Build WireCryptobox | |
if: ${{ inputs.wire-ios-cryptobox || inputs.all }} | |
run: | | |
echo "WireCryptobox has changes" | |
echo "Building WireCryptobox..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireCryptobox -resultBundlePath xcodebuild-wire-ios-cryptobox.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-cryptobox.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-cryptobox || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-cryptobox.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireCryptobox | |
if: ${{ inputs.wire-ios-cryptobox || inputs.all }} | |
run: | | |
echo "Testing WireCryptobox..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireCryptobox -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-cryptobox.log | bundle exec xcpretty --report junit --output build/reports/WireCryptobox.junit | |
exit ${PIPESTATUS[0]} | |
# WireTransport | |
- name: Build WireTransport | |
if: ${{ inputs.wire-ios-transport || inputs.all }} | |
run: | | |
echo "WireTransport has changes" | |
echo "Building WireTransport..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireTransport -resultBundlePath xcodebuild-wire-ios-transport.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-transport.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-transport || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-transport.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireTransport | |
if: ${{ inputs.wire-ios-transport || inputs.all }} | |
run: | | |
echo "Testing WireTransport..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireTransport -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-transport.log | bundle exec xcpretty --report junit --output build/reports/WireTransport.junit | |
exit ${PIPESTATUS[0]} | |
# WireLinkPreview | |
- name: Build WireLinkPreview | |
if: ${{ inputs.wire-ios-link-preview || inputs.all }} | |
run: | | |
echo "WireLinkPreview has changes" | |
echo "Building WireLinkPreview..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireLinkPreview -resultBundlePath xcodebuild-wire-ios-link-preview.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-link-preview.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-link-preview || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-link-preview.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireLinkPreview | |
if: ${{ inputs.wire-ios-link-preview || inputs.all }} | |
run: | | |
echo "Testing WireLinkPreview..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireLinkPreview -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-link-preview.log | bundle exec xcpretty --report junit --output build/reports/WireLinkPreview.junit | |
exit ${PIPESTATUS[0]} | |
# WireImages | |
- name: Build WireImages | |
if: ${{ inputs.wire-ios-images || inputs.all }} | |
run: | | |
echo "WireImages has changes" | |
echo "Building WireImages..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireImages -resultBundlePath xcodebuild-wire-ios-images.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-images.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-images || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-images.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireImages | |
if: ${{ inputs.wire-ios-images || inputs.all }} | |
run: | | |
echo "Testing WireImages..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireImages -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-images.log | bundle exec xcpretty --report junit --output build/reports/WireImages.junit | |
exit ${PIPESTATUS[0]} | |
# WireProtos | |
- name: Build WireProtos | |
if: ${{ inputs.wire-ios-protos || inputs.all }} | |
run: | | |
echo "WireProtos has changes" | |
echo "Building WireProtos..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireProtos -resultBundlePath xcodebuild-wire-ios-protos.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-protos.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-protos || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-protos.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireProtos | |
if: ${{ inputs.wire-ios-protos || inputs.all }} | |
run: | | |
echo "Testing WireProtos..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireProtos -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-protos.log | bundle exec xcpretty | |
exit ${PIPESTATUS[0]} | |
# WireMockTransport | |
- name: Build WireMockTransport | |
if: ${{ inputs.wire-ios-mocktransport || inputs.all }} | |
run: | | |
echo "WireMockTransport has changes" | |
echo "Building WireMockTransport..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireMockTransport -resultBundlePath xcodebuild-wire-ios-mocktransport.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-mocktransport.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-mocktransport || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-mocktransport.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireMockTransport | |
if: ${{ inputs.wire-ios-mocktransport || inputs.all }} | |
run: | | |
echo "Testing WireMockTransport..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireMockTransport -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-mocktransport.log | bundle exec xcpretty --report junit --output build/reports/WireMockTransport.junit | |
exit ${PIPESTATUS[0]} | |
# WireDataModel | |
- name: Build WireDataModel | |
if: ${{ inputs.wire-ios-data-model || inputs.all }} | |
run: | | |
echo "WireDataModel has changes" | |
echo "Building WireDataModel..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireDataModel -resultBundlePath xcodebuild-wire-ios-data-model.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-data-model.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-data-model || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-data-model.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireDataModel | |
if: ${{ inputs.wire-ios-data-model || inputs.all }} | |
run: | | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireDataModel -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-data-model.log | bundle exec xcpretty --report junit --output build/reports/WireDataModel.junit | |
exit ${PIPESTATUS[0]} | |
# WireAPI | |
- name: Build WireAPI | |
if: ${{ inputs.wire-api || inputs.all }} | |
run: | | |
echo "WireAPI has changes" | |
echo "Building WireAPI..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireAPI -resultBundlePath xcodebuild-wire-api.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-api.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-api || inputs.all }} | |
with: | |
results: xcodebuild-wire-api.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireAPI | |
if: ${{ inputs.wire-api || inputs.all }} | |
run: | | |
echo "Testing WireAPI..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireAPI -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-api.log | bundle exec xcpretty --report junit --output build/reports/WireAPI.junit | |
exit ${PIPESTATUS[0]} | |
# WireDomain | |
- name: Build WireDomain | |
if: ${{ inputs.wire-domain || inputs.all }} | |
run: | | |
echo "WireDomain has changes" | |
echo "Building WireDomain..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireDomainPackage -resultBundlePath xcodebuild-wire-domain.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-domain.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-domain || inputs.all }} | |
with: | |
results: xcodebuild-wire-domain.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireDomain | |
if: ${{ inputs.wire-domain || inputs.all }} | |
run: | | |
echo "Testing WireDomain..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireDomainPackage -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-domain.log | bundle exec xcpretty --report junit --output build/reports/WireDomain.junit | |
exit ${PIPESTATUS[0]} | |
# WireDomain Project | |
- name: Build WireDomain Project | |
if: ${{ inputs.wire-domain-project || inputs.all }} | |
run: | | |
echo "WireDomain Project has changes" | |
echo "Building WireDomain Project..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireDomain -resultBundlePath xcodebuild-wire-domain-project.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-domain-project.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-domain-project || inputs.all }} | |
with: | |
results: xcodebuild-wire-domain-project.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireDomain Project | |
if: ${{ inputs.wire-domain-project || inputs.all }} | |
run: | | |
echo "Testing WireDomain Project..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireDomain -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-domain-project.log | bundle exec xcpretty --report junit --output build/reports/WireDomainProject.junit | |
exit ${PIPESTATUS[0]} | |
# WireRequestStrategy | |
- name: Build WireRequestStrategy | |
if: ${{ inputs.wire-ios-request-strategy || inputs.all }} | |
run: | | |
echo "WireRequestStrategy has changes" | |
echo "Building WireRequestStrategy..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireRequestStrategy -resultBundlePath xcodebuild-wire-ios-request-strategy.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-request-strategy.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-request-strategy || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-request-strategy.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireRequestStrategy | |
if: ${{ inputs.wire-ios-request-strategy || inputs.all }} | |
run: | | |
echo "Testing WireRequestStrategy..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireRequestStrategy -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-request-strategy.log | bundle exec xcpretty --report junit --output build/reports/WireRequestStrategy.junit | |
exit ${PIPESTATUS[0]} | |
# WireShareEngine | |
- name: Build WireShareEngine | |
if: ${{ inputs.wire-ios-share-engine || inputs.all }} | |
run: | | |
echo "WireShareEngine has changes" | |
echo "Building WireShareEngine..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireShareEngine -resultBundlePath xcodebuild-wire-ios-share-engine.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-share-engine.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-share-engine || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-share-engine.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireShareEngine | |
if: ${{ inputs.wire-ios-share-engine || inputs.all }} | |
run: | | |
echo "Testing WireShareEngine..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireShareEngine -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-share-engine.log | bundle exec xcpretty --report junit --output build/reports/WireShareEngine.junit | |
exit ${PIPESTATUS[0]} | |
# WireSyncEngine | |
- name: Build WireSyncEngine | |
if: ${{ inputs.wire-ios-sync-engine || inputs.all }} | |
run: | | |
echo "WireSyncEngine has changes" | |
echo "Building WireSyncEngine..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireSyncEngine -resultBundlePath xcodebuild-wire-ios-sync-engine.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-sync-engine.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-sync-engine || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-sync-engine.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireSyncEngine | |
if: ${{ inputs.wire-ios-sync-engine || inputs.all }} | |
run: | | |
echo "Testing WireSyncEngine..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireSyncEngine -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-sync-engine.log | bundle exec xcpretty --report junit --output build/reports/WireSyncEngine.junit | |
exit ${PIPESTATUS[0]} | |
# WireDesign | |
- name: Build WireDesign | |
if: ${{ inputs.wire-design || inputs.all }} | |
run: | | |
echo "WireDesign has changes" | |
echo "Building WireDesign..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireDesign -resultBundlePath xcodebuild-wire-design.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-design.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-design || inputs.all }} | |
with: | |
results: xcodebuild-wire-design.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireDesign | |
if: ${{ inputs.wire-design || inputs.all }} | |
run: | | |
echo "Testing WireDesign..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireDesign -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-design.log | bundle exec xcpretty --report junit --output build/reports/WireDesign.junit | |
exit ${PIPESTATUS[0]} | |
# WireUIFoundation | |
- name: Test WireUIFoundation | |
if: ${{ inputs.wire-ui-foundation || inputs.all }} | |
run: | | |
echo "WireUIFoundation has changes" | |
echo "Building WireUIFoundation..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireUIFoundation -resultBundlePath xcodebuild-wire-ui-foundation.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ui-foundation.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ui-foundation || inputs.all }} | |
with: | |
results: xcodebuild-wire-ui-foundation.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireUIFoundation | |
if: ${{ inputs.wire-ui-foundation || inputs.all }} | |
run: | | |
echo "Testing WireUIFoundation..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireUIFoundation -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ui-foundation.log | bundle exec xcpretty --report junit --output build/reports/WireUIFoundation.junit | |
exit ${PIPESTATUS[0]} | |
# WireReusableUIComponents | |
- name: Test WireReusableUIComponents | |
if: ${{ inputs.wire-reusable-ui-components || inputs.all }} | |
run: | | |
echo "WireReusableUIComponents has changes" | |
echo "Building WireReusableUIComponents..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireReusableUIComponents -resultBundlePath xcodebuild-wire-reusable-ui-components.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-reusable-ui-components.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-reusable-ui-components || inputs.all }} | |
with: | |
results: xcodebuild-wire-reusable-ui-components.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireReusableUIComponents | |
if: ${{ inputs.wire-reusable-ui-components || inputs.all }} | |
run: | | |
echo "Testing WireReusableUIComponents..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme WireReusableUIComponents -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-reusable-ui-components.log | bundle exec xcpretty --report junit --output build/reports/WireReusableUIComponents.junit | |
exit ${PIPESTATUS[0]} | |
# Wire-iOS | |
- name: Build Wire-iOS | |
if: ${{ inputs.wire-ios || inputs.all }} | |
run: | | |
echo "Wire-iOS has changes" | |
echo "Building Wire-iOS..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme Wire-iOS -resultBundlePath xcodebuild-wire-ios.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test Wire-iOS | |
if: ${{ inputs.wire-ios || inputs.all }} | |
run: | | |
echo "Testing Wire-iOS..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme Wire-iOS -testPlan AllTests -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios.log | bundle exec xcpretty --report junit --output build/reports/Wire-iOS-EN.junit | |
exit ${PIPESTATUS[0]} | |
- name: Test Wire-iOS German Locale Tests | |
if: ${{ inputs.wire-ios || inputs.all }} | |
run: | | |
echo "Testing Wire-iOS German Locale Tests..." | |
xcodebuild test -workspace wire-ios-mono.xcworkspace -scheme Wire-iOS -testPlan GermanLocaleTests -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-de.log | bundle exec xcpretty --report junit --output build/reports/Wire-iOS-DE.junit | |
exit ${PIPESTATUS[0]} | |
- name: Upload Failed snapshots | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: Failed Snapshots and log | |
path: | | |
wire-ios/SnapshotResults/ | |
xcodebuild*.log | |
# WORKAROUND: if we test WireNotificationEngine and then Wire-iOS, we'll get an error when trying to build | |
# Wire-iOS stating that symbols from the notification can't be found. to workaround this, test the notification | |
# after the Wire-iOS. | |
- name: Build WireNotificationEngine | |
if: ${{ inputs.wire-ios-notification-engine || inputs.all }} | |
run: | | |
echo "WireNotificationEngine has changes" | |
echo "Building WireNotificationEngine..." | |
xcodebuild build-for-testing -workspace wire-ios-mono.xcworkspace -scheme WireNotificationEngine -resultBundlePath xcodebuild-wire-ios-notification-engine.xcresult -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee xcodebuild-wire-ios-notification-engine.log | bundle exec xcpretty | |
- uses: kronenthaler/[email protected] | |
if: ${{ inputs.wire-ios-notification-engine || inputs.all }} | |
with: | |
results: xcodebuild-wire-ios-notification-engine.xcresult | |
warningAnnotations: true | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test WireNotificationEngine | |
if: ${{ inputs.wire-ios-notification-engine || inputs.all }} | |
run: | | |
echo "Testing WireNotificationEngine..." | |
xcodebuild test -retry-tests-on-failure -workspace wire-ios-mono.xcworkspace -scheme WireNotificationEngine -destination 'platform=iOS Simulator,OS=${{ env.IOS_VERSION }},name=${{ env.IPHONE_MODEL }}' | tee -a xcodebuild-wire-ios-notification-engine.log | bundle exec xcpretty --report junit --output build/reports/WireNotificationEngine.junit | |
exit ${PIPESTATUS[0]} | |
- name: Save cache with warning counts | |
# This step should only run for the test_develop.yml workflow | |
if: ${{ !cancelled() && github.event.action == 'push' }} | |
uses: actions/cache/save@v4 | |
with: | |
path: Danger.results | |
key: ${{ github.event.head_commit.id || github.event.pull_request.merge_commit_sha || github.event.pull_request.head.sha }}-Danger.results | |
- name: Upload Test Reports as Artifacts | |
uses: actions/upload-artifact@v3 | |
if: always() | |
with: | |
name: test-reports | |
path: | | |
build/reports/*.junit | |
- name: Prepare visual representation of test results | |
uses: EnricoMi/publish-unit-test-result-action/macos@v2 | |
if: always() | |
with: | |
files: | | |
build/reports/*.junit | |
compare_to_earlier_commit: false | |
- name: Archiving DerivedData Logs | |
uses: actions/upload-artifact@v2 | |
if: always() | |
with: | |
name: derived-data-xcode | |
path: | | |
/Users/runner/Library/Developer/Xcode/DerivedData/**/Logs/** | |
~/Library/Logs/DiagnosticReports/** | |
- name: Notify on Wire if failed | |
if: ${{ failure() && github.ref_name == 'develop' }} | |
uses: 8398a7/action-slack@v3 | |
with: | |
status: ${{ job.status }} | |
text: "π Tests for 'develop' failed π\ncommit: https://github.com/wireapp/wire-ios-mono/commit/${{ github.sha }}\n**Triggered by:** ${{ github.triggering_actor }}\n**Build log:** ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n" | |
upload-test-results-datadadog: | |
runs-on: ubuntu-latest | |
needs: run-tests | |
if: always() | |
steps: | |
- name: Download tests results | |
uses: actions/download-artifact@v3 | |
continue-on-error: true | |
with: | |
name: test-reports | |
- uses: actions/setup-node@v3 | |
with: | |
node-version: 18 | |
- name: Install datadog-ci | |
run: npm install -g @datadog/datadog-ci | |
- name: "Upload results" | |
env: | |
DATADOG_API_KEY: ${{ secrets.DD_API_KEY }} | |
DD_ENV: ci | |
DATADOG_SITE: datadoghq.eu | |
run: | | |
find . -name "*.junit" -type f | tr '\n' ' ' | xargs -L 1 datadog-ci junit upload --service wire-ios-mono . |