-
Notifications
You must be signed in to change notification settings - Fork 18
NSAttributedString; NRTestAppAsFramework #437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
cdillard-NewRelic
wants to merge
40
commits into
develop
Choose a base branch
from
NRTestAppAsFramework
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 29 commits
Commits
Show all changes
40 commits
Select commit
Hold shift + click to select a range
33773c8
Adds an easy way to run NRTestApp with SPM
cdillard-NewRelic 18b54ae
Demonstrates NSAttributedString
cdillard-NewRelic 4bace67
bump 7.5.7
cdillard-NewRelic 5f19f43
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 75592bf
bump NRTestAppAsFramework to 7.5.8-rc.1523
cdillard-NewRelic ff46634
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 51a8705
wip perf tests
cdillard-NewRelic 1bb2c73
refactor NRMASessionReplay.swift -> SessionReplayTouchCapture.swift t…
cdillard-NewRelic 7b1ef2a
Merge branch 'fix-NR-450261' of github.com:newrelic/newrelic-ios-agen…
cdillard-NewRelic afc7a3f
proj u
cdillard-NewRelic dcf2649
refactor to sort touch and frame
cdillard-NewRelic 185baf1
fix build error
cdillard-NewRelic dcffda4
fix
cdillard-NewRelic 5e95bac
Merge branch 'fix-NR-450261' of github.com:newrelic/newrelic-ios-agen…
cdillard-NewRelic bb4cddd
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic ffdb1a1
Adds customer provided SwiftUI Code to cause isue with UIViewControll…
cdillard-NewRelic 947d816
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic c7d090c
Merge branch 'add-swiftuiviewrepresentable-nrtestapp' of github.com:n…
cdillard-NewRelic c194902
Merge branch 'fix-nil-optional-config-msr' into NRTestAppAsFramework
cdillard-NewRelic 346a358
cond comp perf
cdillard-NewRelic d6a76bb
Merge branch 'develop' into add-swiftuiviewrepresentable-nrtestapp
cdillard-NewRelic 4151f3a
Merge branch 'develop' into add-swiftuiviewrepresentable-nrtestapp
mbruin-NR fad1fa2
Merge branch 'add-swiftuiviewrepresentable-nrtestapp' of github.com:n…
cdillard-NewRelic e270b8a
push 7.5.11-dev.49 as bespokeBuild
cdillard-NewRelic ef86d7f
Merge branch 'msr-swiftui' of github.com:newrelic/newrelic-ios-agent …
cdillard-NewRelic 3914a52
fix: p
cdillard-NewRelic 893756b
initial lambdatest gha support
cdillard-NewRelic 16724a1
align iOS 16.0 deployment target
cdillard-NewRelic 8ee9ddc
add upload action, add package.json
cdillard-NewRelic cab65c5
update: uploadApp.yml
cdillard-NewRelic e7866b4
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic c22cc85
rm wrng test file
cdillard-NewRelic 899704c
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 0463c68
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 5533162
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 1d02f42
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 2abce55
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic c61aaed
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 504c38b
Merge branch 'develop' of github.com:newrelic/newrelic-ios-agent into…
cdillard-NewRelic 6598f39
fix
cdillard-NewRelic File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| # Jobs run on separate runners, so each needs to configure their environment | ||
| name: Environment setup | ||
| description: Reusable action to setup environment | ||
|
|
||
| runs: | ||
| using: "composite" | ||
| steps: | ||
| - name: Set up Node.js | ||
| uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # pin@v4 | ||
| with: | ||
| node-version: 20.5.1 | ||
| - name: Install dependencies | ||
| run: npm ci | ||
| shell: bash | ||
| - name: Log success | ||
| if: ${{ success() }} | ||
| run: echo "[ RUNNER ] - successfully installed packages" | ||
| shell: bash | ||
| - name: Log failure | ||
| if: ${{ failure() || cancelled() }} | ||
| run: echo "[ RUNNER ] - failed to install packages" | ||
| shell: bash |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,189 @@ | ||
| # This purpose of this GitHub action is to automate uploading the main agent test app to LamdbaTest. LambdaTest has a retention policy of 60 days. This automation ensures that the app is always available for testing without manual intervention and will always be providing data to the following entities without interruption: | ||
|
|
||
| # main-agent-test-app-ios: https://staging.onenr.io/07jbMl8KnRy | ||
|
|
||
| # This action triggers a node.js function that uploads the app to LambdaTest. | ||
| # The function uses a `custom_id` to identify that app with a specific name rather than the default names provided upon upload, which will change per upload. | ||
|
|
||
| name: Upload iOS and Android apps to LambdaTest | ||
|
|
||
| on: | ||
| # enables option for workflow to be manually executed in Github UI | ||
| workflow_dispatch: | ||
|
|
||
| # push: | ||
| # branches: | ||
| # - main | ||
|
|
||
| # # Runs on the 1st of every month | ||
| # schedule: | ||
| # - cron: "0 0 1 * *" | ||
|
|
||
| jobs: | ||
|
|
||
| build-ios: | ||
| name: Build iOS app | ||
| runs-on: macos-15 | ||
|
|
||
| steps: | ||
| - name: Check out repository | ||
| uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 | ||
|
|
||
| - name: Setup environment | ||
| uses: ./.github/actions/env-setup | ||
|
|
||
| - name: Select Xcode 16.4 | ||
| run: | | ||
| sudo xcode-select -switch /Applications/Xcode_16.4.app | ||
|
|
||
| - name: Install dependencies | ||
| run: | | ||
| npm install | ||
| cd ios && pod install | ||
|
|
||
| - name: Clean iOS app | ||
| run: | | ||
| cd ios | ||
| xcodebuild clean -workspace Agent.xcworkspace -scheme NRTestApp | ||
| pod update | ||
|
|
||
| - name: Build iOS app | ||
| run: | | ||
| cd ios | ||
| xcodebuild build \ | ||
| -workspace Agent.xcworkspace -scheme NRTestApp \ | ||
| -configuration Release \ | ||
| -sdk iphonesimulator \ | ||
| build | ||
|
|
||
| - name: Compress iOS app | ||
| run: | | ||
| cd ~ | ||
| cd ../.. | ||
| ls -al | ||
| # cd /Users/runner/Library/Developer/Xcode/DerivedData/mainagenttestapp-aiutyigxigajkbcjspvvdvuiqmit/Build/Products/Release-iphonesimulator/ | ||
| # ls | ||
| # zip -r mainagenttestapp-ios.zip mainagenttestapp.app | ||
|
|
||
| - name: Upload iOS app | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: mainagenttestapp-ios | ||
| path: /Users/runner/Library/Developer/Xcode/DerivedData/mainagenttestapp-aiutyigxigajkbcjspvvdvuiqmit/Build/Products/Release-iphonesimulator/mainagenttestapp-ios.zip | ||
| compression-level: 0 | ||
| retention-days: 1 | ||
|
|
||
| build-android: | ||
| name: Build Android app | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Set Up JDK | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| distribution: "zulu" # See 'Supported distributions' for available options | ||
| java-version: "17" | ||
| cache: "gradle" | ||
|
|
||
| - name: Install dependencies, clean & build | ||
| run: | | ||
| npm install | ||
| cd android | ||
| ./gradlew clean | ||
| ./gradlew assembleRelease | ||
|
|
||
| - name: Upload android app | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: mainagenttestapp-android | ||
| path: ${{ github.workspace }}/android/app/build/outputs/apk/release/app-release.apk | ||
| retention-days: 1 | ||
|
|
||
| upload-apps: | ||
| name: Upload main agent test apps to LT | ||
| needs: [build-ios, build-android] | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| LT_USERNAME: ${{ secrets.APP_EXP_LAMBDA_USERNAME }} | ||
| LT_ACCESSKEY: ${{ secrets.APP_EXP_LAMBDA_ACCESS_KEY }} | ||
| steps: | ||
| - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # pin@v4 | ||
|
|
||
| - name: Setup environment | ||
| uses: ./.github/actions/env-setup | ||
|
|
||
| - name: Download iOS artifact | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: mainagenttestapp-ios | ||
| path: ${{ github.workspace }}/builds | ||
|
|
||
| - name: Download android artifact | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: mainagenttestapp-android | ||
| path: ${{ github.workspace }}/builds | ||
|
|
||
| - name: Run upload script | ||
| run: node lambdaTest/uploadAppToLambdaTest.mjs | ||
|
|
||
| - name: Log success | ||
| if: ${{ success() }} | ||
| run: echo "[ RUNNER ] - successfully uploaded apps to LambdaTest" | ||
|
|
||
| - name: Notify success | ||
| if: ${{ success() }} | ||
| uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # pin@v | ||
| with: | ||
| webhook-type: incoming-webhook | ||
| webhook: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
| payload: | | ||
| blocks: | ||
| - type: "header" | ||
| text: | ||
| type: "plain_text" | ||
| text: ":frog-wow-scroll: LambdaTest Upload Successful" | ||
| - type: "divider" | ||
| - type: "section" | ||
| text: | ||
| type: "mrkdwn" | ||
| text: Congrats! We survived another month to claim victory over LambdaTest's retention policy. The main-agent-test-apps have been successfully uploaded and are ready for testing. | ||
| env: | ||
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
|
||
| - name: Log failure | ||
| if: ${{ failure() || cancelled() }} | ||
| run: echo "[ RUNNER ] - failed to upload apps to LambdaTest" | ||
|
|
||
| - name: Notify failure | ||
| if: ${{ failure() || cancelled() }} | ||
| uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # pin@v2 | ||
| with: | ||
| webhook-type: incoming-webhook | ||
| webhook: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
| payload: | | ||
| blocks: | ||
| - type: "header" | ||
| text: | ||
| type: "plain_text" | ||
| text: ":crying-sunglasses-cowboy: LambdaTest Upload Failed" | ||
| - type: "divider" | ||
| - type: "section" | ||
| text: | ||
| type: "mrkdwn" | ||
| text: "Something went wrong while uploading the main-agent-test-apps to LambdaTest. Please check the logs for more details." | ||
| accessory: | ||
| type: "button" | ||
| text: | ||
| type: "plain_text" | ||
| text: "View logs" | ||
| emoji: true | ||
| value: "view_logs" | ||
| url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||
| action_id: "button-action" | ||
| env: | ||
| SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
|
||
|
||
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| # The purpose of this GitHub action is to have a constant stream of data reporting to the following entities: | ||
| # NRTestApp-Auto: TBAdded | ||
|
|
||
| # This is accomplished by triggering npm scripts that execute a suite of tests in parallel | ||
| # The tests spin up simulated iOS and Android devices on LambdaTest that are instrumented with the Mobile agent | ||
|
|
||
| name: "WDIO: automate iOS tests" | ||
|
|
||
| on: | ||
| # enables option for workflow to be manually executed in Github UI | ||
| workflow_dispatch: | ||
|
|
||
| # enables scheduled execution every 30 minutes | ||
| schedule: | ||
| - cron: "*/30 * * * *" | ||
|
|
||
| jobs: | ||
| ios-data: | ||
| name: Generate iOS data | ||
| runs-on: ubuntu-latest | ||
| env: | ||
| LT_USERNAME: ${{ secrets.APP_EXP_LAMBDA_USERNAME }} | ||
| LT_ACCESSKEY: ${{ secrets.APP_EXP_LAMBDA_ACCESS_KEY }} | ||
| steps: | ||
| - uses: actions/checkout@1e31de5234b9f8995739874a8ce0492dc87873e2 # pin@v4 | ||
| - name: Setup environment | ||
| uses: ./.github/actions/env-setup | ||
|
|
||
| - name: Execute iOS tests | ||
| run: for i in {1..1}; do echo "test run $i"; npm run test:wdio-ios; done | ||
|
|
||
| - name: Log success | ||
| if: ${{ success() }} | ||
| run: echo "[ RUNNER ] - successfully executed iOS tests" | ||
|
|
||
| - name: Log failure | ||
| if: ${{ failure() || cancelled() }} | ||
| run: echo "[ RUNNER ] - failed to execute iOS tests" | ||
|
|
||
| # - name: Notify failure | ||
| # if: ${{ failure() || cancelled() }} | ||
| # uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # pin@v2 | ||
| # with: | ||
| # webhook-type: incoming-webhook | ||
| # webhook: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
| # payload: | | ||
| # blocks: | ||
| # - type: "header" | ||
| # text: | ||
| # type: "plain_text" | ||
| # text: ":rotating_light: GitHub Workflow Failure" | ||
| # - type: "divider" | ||
| # - type: "section" | ||
| # text: | ||
| # type: "mrkdwn" | ||
| # text: ":apple: Failed to generate *main-agent-test-app-iOS* data" | ||
| # accessory: | ||
| # type: "button" | ||
| # text: | ||
| # type: "plain_text" | ||
| # text: "View logs" | ||
| # emoji: true | ||
| # value: "view_logs" | ||
| # url: "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}" | ||
| # action_id: "button-action" | ||
| # env: | ||
| # SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} | ||
|
|
||
|
||
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
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.