-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* updating/fixing documentation * Update README.md --------- Co-authored-by: Alex Guretzki <[email protected]>
- Loading branch information
Showing
3 changed files
with
76 additions
and
1 deletion.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
name: 👀 Detect public API changes | ||
|
||
on: | ||
pull_request: | ||
types: [opened, synchronize, reopened] | ||
workflow_dispatch: | ||
inputs: | ||
new: | ||
description: 'Branch/tag of the new/updated version' | ||
required: true | ||
old: | ||
description: 'Branch/tag of the old/comparison version' | ||
required: true | ||
|
||
jobs: | ||
|
||
build: | ||
runs-on: macos-14 | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Select latest Xcode | ||
uses: maxim-lobanov/setup-xcode@v1 | ||
with: | ||
xcode-version: '15.4' | ||
|
||
- name: 🚚 Fetch repo | ||
uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: 👾 Define Diff Versions | ||
run: | | ||
NEW="${{ env.source }}~${{ env.githubRepo }}" | ||
# Release branches get compared to the last tag instead of the target branch | ||
if [[ '${{ github.head_ref || env.noTargetBranch }}' == release/* ]] | ||
then | ||
LATEST_TAG=$(git describe --tags --abbrev=0) | ||
OLD="$LATEST_TAG~${{ env.githubRepo }}" | ||
else | ||
OLD="${{ env.target }}~${{ env.githubRepo }}" | ||
fi | ||
# Providing the output to the environment | ||
echo "OLD_VERSION=$OLD" >> $GITHUB_ENV | ||
echo "NEW_VERSION=$NEW" >> $GITHUB_ENV | ||
env: | ||
source: '${{ github.event.inputs.new || github.head_ref }}' | ||
target: '${{ github.event.inputs.old || github.event.pull_request.base.ref }}' | ||
githubRepo: '${{github.server_url}}/${{github.repository}}.git' | ||
noTargetBranch: 'no target branch' | ||
|
||
# The github action automatically posts on a PR | ||
# and/or outputs the diff to the $GITHUB_STEP_SUMMARY | ||
- name: 🔍 Detect Changes | ||
uses: Adyen/[email protected] | ||
with: | ||
platform: "iOS" | ||
new: ${{ env.NEW_VERSION }} | ||
old: ${{ env.OLD_VERSION }} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -164,6 +164,18 @@ swift build --configuration release | |
--old "old/path/to/project.framework" | ||
``` | ||
|
||
## Github Action | ||
The public-api-diff can be used easily via the provided github action, which creates a comment on a PR (if applicable) and also adds it to the Github step summary. | ||
```bash | ||
- name: 🔍 Detect Changes | ||
uses: Adyen/[email protected] | ||
with: | ||
platform: "iOS" | ||
new: "develop~https://github.com/Adyen/adyen-ios.git" | ||
old: "5.12.0~https://github.com/Adyen/adyen-ios.git" | ||
``` | ||
See: [example workflow](https://github.com/Adyen/adyen-swift-public-api-diff/blob/main/Examples/github-workflow.yml) | ||
|
||
## Alternatives | ||
- **swift-api-digester** | ||
- `xcrun swift-api-digester -dump-sdk` | ||
|
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