You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Periphery is a nice tool but has some issues with numerous false positive cases.
It needs also to compile projects for all targets.
In GitHub Actions it failed sometimes to build for other OS than iOS and iPadOS.
In addition it consumes time and budget, and because of false positive cases errors
are accepted and lost in noise with warnings.
This Periphery must be used locally to have a manuel check of the results while false
positive cases remain.
Signed-off-by: Pierre-Yves Lapersonne <[email protected]>
*SwiftFormat* is not used in GitHub Actions CI/CD because sources should be formatted before beeing pushed, not after.
607
+
606
608
## Dead code
607
609
608
610
We use [Periphery](https://github.com/peripheryapp/periphery) to look for dead code and help developers to track it and remove it.
609
-
This tool is run in CI/CD side and can be run localy using *Fastlane*:
611
+
This tool should be run locally, for example using *Fastlane*:
610
612
611
613
And run:
612
614
```shell
613
615
bundle exec fastlane check_dead_code
614
616
```
615
617
618
+
Because _Periphery_ has several issues about false positive, and needs to compile the project to look for symbols, this tool is not used anymore in CI/CD on GitHub Actions. Indeed we needed to allow errors and treat errors as warnings, so as manual check was still needed.
619
+
616
620
You can also in Xcode run from the *Periphery* scheme so as to make a scan.
617
621
618
622
> [!CAUTION]
@@ -676,12 +680,12 @@ We use *GitHub Actions* so as to define a workflow with some actions to build de
676
680
It will help us to ensure code on pull requests or being merged compiles and has all tests green.
677
681
678
682
Workflows are the following:
679
-
-[build-and-test](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/build-and-test.yml) to build and run unit tests
680
-
-[gitleaks](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/gitleaks.yml) to check if there are secrets leaks
681
-
-[periphery](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/periphery.yml) to check if there is dead code
682
-
-[scorecard](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/scorecard.yml) to buold the OpenSSF score card on README
683
-
-[swiftlint](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/swiftlint.yml) to check if there is no linter warnings
684
-
-[swiftpolyglot](https://github.com/Orange-OpenSource/ouds-ios/blob/develop/.github/workflows/swiftpolyglot.yml) to check if there are localizations troubles
683
+
-[build-and-test](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/build-and-test.yml) to build and run unit tests
684
+
-[dependency-review](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/dependency-review.yml) to scan dependency manifest files surfacing known-vulnerable versions of the packages declared or updated in pull requests
685
+
-[gitleaks](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/gitleaks.yml) to check if there are secrets leaks
686
+
-[scorecard](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/scorecard.yml) to build the OpenSSF score card on README
687
+
-[swiftlint](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/swiftlint.yml) to check if there is no linter warnings
688
+
-[swiftpolyglot](https://github.com/Orange-OpenSource/ouds-ios-design-system-toolbox/blob/develop/.github/workflows/swiftpolyglot.yml) to check if there are localizations troubles
685
689
686
690
We use also two GitHub apps making controls on pull requests and defining wether or not prerequisites are filled or not.
687
691
There is one control to check if [PR template are all defined ](https://github.com/stilliard/github-task-list-completed), and one if [DCO is applied](https://probot.github.io/apps/dco/).
0 commit comments