-
Notifications
You must be signed in to change notification settings - Fork 0
Client(iOS) - The demo's Tap to Pay sequence can offer two next steps at once #24
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
Alex Arguello (alex-arguello)
wants to merge
57
commits into
main
Choose a base branch
from
alexarguello/pla-2405-clientios-the-demos-tap-to-pay-sequence-can-offer-two-next
base: main
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 all commits
Commits
Show all changes
57 commits
Select commit
Hold shift + click to select a range
eef0d37
Client(iOS) - Move the demo's step derivations out of the views
alex-arguello 676f412
Client(iOS) - Order each step behind the one before it
alex-arguello 171940a
Disable the swiftformat rules that rewrite code, then format the tree
alex-arguello 12ee549
Lint and analyse in CI, and run the demo's step sequences there
alex-arguello 3aee13c
Client(iOS) - Let the activation step report the failure the session …
alex-arguello 9bfeee6
Stop Sonar indexing the demo's tests as both source and test
alex-arguello 0558f46
Keep the customer and the processor response out of the public log
alex-arguello c94ec79
Stop publishing the card reader's credentials to the log
alex-arguello 91c8d68
Client(iOS) - Offer the activation code only where the SDK accepts it
alex-arguello f461585
Say what the code does, without arguing with the alternative
alex-arguello f65dad5
Client(iOS) - Derive the one control the screen offers, and let the v…
alex-arguello 9b8ac65
Log the shape of the attestation and update calls, never their contents
alex-arguello bcd36e5
Client(iOS) - Let the enable step report the failure that follows an …
alex-arguello ef45b1d
Use the bound this suite already declared
alex-arguello ffbbed7
Client(iOS) - Let the enable step report a revoked attestation
alex-arguello e57a2c7
Measure the SDK in Sonar, not the sample app
alex-arguello e63324c
Keep the public initializers' documentation as documentation
alex-arguello ec0f30e
Cover the text-to-state boundary the screens depend on
alex-arguello aba6a86
Pin the lint tools CI gates on
alex-arguello 4beee8b
Report coverage for the code Sonar measures, and nothing else
alex-arguello bd856d3
Verify the lint tools by content before running them
alex-arguello 5d61160
Client(iOS) - Probe the card-not-present token endpoint from Configur…
alex-arguello 4553419
Fail the coverage conversion on parsed lines, not on file count
alex-arguello 7743961
Client(iOS) - Offer another activation code after one is refused
alex-arguello eb72bb5
Pin the analysis action to a commit
alex-arguello a6e2e12
Client(iOS) - Offer the full setup when the session errored
alex-arguello cde192f
Fail the conversion when an archive cannot be read
alex-arguello 344b851
Read the coverage report in one xccov call
alex-arguello 10cd8d8
Run lint and the two suites as parallel jobs
alex-arguello 1ba2edb
Drop xcpretty from CI and read failures from the result bundle
alex-arguello a751408
Say which failure recovery is recovering from
alex-arguello c356886
Report what a change touched, and what is only formatting
alex-arguello fce6148
Run the full setup after any errored session, including a failed acti…
alex-arguello 6b8cb0e
Post the change report to the pull request
alex-arguello 3fa8cf2
Report what the change means, not what it measures
alex-arguello 12e2f3b
Show a failed submit's reason on the step that failed
alex-arguello 01ed4f8
Keep the write token out of the job that runs the branch's code
alex-arguello 55d3b03
Report the API of files that entered or left the build
alex-arguello 4793a72
Report which customer fields a charge carried, never their values
alex-arguello b24dbfe
Report the initiate request by size, not by its contents
alex-arguello 6225029
Count an added or deleted production file as a behaviour change
alex-arguello 9bc7af2
Classify a production file that was renamed as well as edited
alex-arguello 9243bf6
Read the public surface by its container, not by the word public
alex-arguello 51ec431
Give the token probes one owner across the tabs
alex-arguello ab7e283
Give each token function its own probe, and let the latest run win
alex-arguello 9b99568
Count a moved statement as a change, because order is behaviour
alex-arguello 68d422b
Take the probe button's enabled state from the step, not a local flag
alex-arguello 4ea808c
Register a held run in the same call that numbers it
alex-arguello d7a8f33
Let the change-report comment fail out loud
alex-arguello fc436ec
Post the change report where it will be read
alex-arguello 9fdb83c
Run the two token-holding jobs from the default branch
alex-arguello 565338a
Take the pull request from the event, not from the artifact
alex-arguello a9a3432
Pin the workflow token and stop checkout leaving it behind
alex-arguello de919d8
Keep a settled probe answer while the next run is in flight
alex-arguello c5b3703
Delete only the reports this workflow posted
alex-arguello 8e8347e
Decide where the analysis goes in the workflow, not in the branch
alex-arguello 295e297
Run one report and one analysis per pull request at a time
alex-arguello 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,46 @@ | ||
| name: iOS toolchain | ||
| description: Selects Xcode and a simulator, and resolves the package graph. | ||
|
|
||
| # The test jobs run in parallel and each needs the same four steps. A composite | ||
| # action keeps the Xcode selection and the simulator lookup written once, so the | ||
| # jobs cannot drift onto different runtimes and disagree about a failure. | ||
|
|
||
| runs: | ||
| using: composite | ||
| steps: | ||
| - name: Select latest Xcode | ||
| shell: bash | ||
| run: | | ||
| XCODE=$(ls /Applications | grep -E '^Xcode_[0-9]' | sort -V | tail -1) | ||
| sudo xcode-select -s "/Applications/$XCODE/Contents/Developer" | ||
| echo "Using $XCODE" | ||
| xcodebuild -version | ||
| swift --version | ||
|
|
||
| - name: Resolve dependencies | ||
| shell: bash | ||
| run: | | ||
| xcodebuild -resolvePackageDependencies \ | ||
| -scheme PayabliSDK-Package \ | ||
| -clonedSourcePackagesDirPath .build/checkouts | ||
|
|
||
| - name: Select simulator | ||
| shell: bash | ||
| run: | | ||
| SIMULATOR_ID=$(xcrun simctl list devices available -j \ | ||
| | python3 -c " | ||
| import json, sys | ||
| d = json.load(sys.stdin)['devices'] | ||
| iphones = [ | ||
| v for k, vals in d.items() | ||
| if 'iOS' in k | ||
| for v in vals | ||
| if 'iPhone' in v['name'] and v['isAvailable'] | ||
| ] | ||
| if not iphones: | ||
| print('error: no available iPhone simulator found', file=sys.stderr) | ||
| sys.exit(1) | ||
| print(sorted(iphones, key=lambda x: x['name'])[-1]['udid']) | ||
| ") | ||
| echo "Using simulator: $SIMULATOR_ID" | ||
| echo "SIMULATOR_ID=$SIMULATOR_ID" >> "$GITHUB_ENV" |
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,42 @@ | ||
| name: Lint tools | ||
| description: Installs swiftformat and swiftlint, verified by checksum. | ||
|
|
||
| # Pinned by content, not by name. Both tools decide whether the lint job passes, | ||
| # and .swiftformat names the version its four disabled rules were checked | ||
| # against, so a change in either would alter the tree or redden every pull | ||
| # request without a commit here. | ||
| # | ||
| # A release tag is not immutable: a publisher can delete an asset and upload | ||
| # another under the same URL. The checksums below are what makes the bytes | ||
| # fixed, and they are verified before anything is unpacked or run. Raising a | ||
| # version means replacing its checksum in the same change, with `swiftformat .` | ||
| # re-run alongside it. | ||
|
|
||
| runs: | ||
| using: composite | ||
| steps: | ||
| - name: Install lint tools | ||
| shell: bash | ||
| env: | ||
| SWIFTFORMAT_VERSION: 0.62.1 | ||
| SWIFTFORMAT_SHA256: 7cb1cb1fae04932047c7015441c543848e8e60e1572d808d080e0a1f1661114a | ||
| SWIFTLINT_VERSION: 0.65.0 | ||
| SWIFTLINT_SHA256: d6cb0aa7a2f5f1ef306fc9e37bcb54dc9a26facc8f7784ac0c3dd3eccf5c6ba6 | ||
| run: | | ||
| set -euo pipefail | ||
| mkdir -p "$RUNNER_TEMP/tools" | ||
|
|
||
| curl -sSfL -o "$RUNNER_TEMP/swiftformat.zip" \ | ||
| "https://github.com/nicklockwood/SwiftFormat/releases/download/${SWIFTFORMAT_VERSION}/swiftformat.zip" | ||
| echo "${SWIFTFORMAT_SHA256} ${RUNNER_TEMP}/swiftformat.zip" | shasum -a 256 -c - | ||
|
|
||
| curl -sSfL -o "$RUNNER_TEMP/swiftlint.zip" \ | ||
| "https://github.com/realm/SwiftLint/releases/download/${SWIFTLINT_VERSION}/portable_swiftlint.zip" | ||
| echo "${SWIFTLINT_SHA256} ${RUNNER_TEMP}/swiftlint.zip" | shasum -a 256 -c - | ||
|
|
||
| unzip -q -j -o "$RUNNER_TEMP/swiftformat.zip" -d "$RUNNER_TEMP/tools" | ||
| unzip -q -j -o "$RUNNER_TEMP/swiftlint.zip" -d "$RUNNER_TEMP/tools" | ||
| chmod +x "$RUNNER_TEMP/tools/swiftformat" "$RUNNER_TEMP/tools/swiftlint" | ||
| echo "$RUNNER_TEMP/tools" >> "$GITHUB_PATH" | ||
| "$RUNNER_TEMP/tools/swiftformat" --version | ||
| "$RUNNER_TEMP/tools/swiftlint" version |
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.