From fdc8443e2a944c021c73427d30b7ceb4b85a57bc Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 14:11:51 +0100 Subject: [PATCH 01/11] feat: Add SwiftLint reusable workflow --- .github/workflows/swiftlint.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/swiftlint.yml diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml new file mode 100644 index 0000000..360ba8a --- /dev/null +++ b/.github/workflows/swiftlint.yml @@ -0,0 +1,16 @@ +name: SwiftLint + +on: + workflow_call + +jobs: + lint: + name: SwiftLint + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + - uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 + - name: SwiftLint + run: swiftlint --config .swiftlint.yml --config .swiftlint-ci.yml --reporter github-actions-logging . From 84c1461a1333c5f1f1c9495a6f30eaa540780e6e Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 14:39:45 +0100 Subject: [PATCH 02/11] feat: Add SwiftFormat --- .github/workflows/swiftformat.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/swiftformat.yml diff --git a/.github/workflows/swiftformat.yml b/.github/workflows/swiftformat.yml new file mode 100644 index 0000000..c01450c --- /dev/null +++ b/.github/workflows/swiftformat.yml @@ -0,0 +1,16 @@ +name: SwiftLint + +on: + workflow_call + +jobs: + format: + name: SwiftFormat + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + - uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 + - name: SwiftFormat + run: swiftformat --lint . --reporter github-actions-log From 1d7377a045779031fe11b8750b7590e518491277 Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 14:44:51 +0100 Subject: [PATCH 03/11] feat: Add Dependent Issues --- .github/workflows/dependent-issues.yml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 .github/workflows/dependent-issues.yml diff --git a/.github/workflows/dependent-issues.yml b/.github/workflows/dependent-issues.yml new file mode 100644 index 0000000..b2edcc7 --- /dev/null +++ b/.github/workflows/dependent-issues.yml @@ -0,0 +1,15 @@ +name: Dependent Issues + +on: + workflow_call: + secrets: + GITHUB_TOKEN: + required: true + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: z0al/dependent-issues@950226e7ca8fc43dc209a7febf67c655af3bdb43 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 5a5ee4c5845315565210cb70074531b91006314b Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 15:01:04 +0100 Subject: [PATCH 04/11] feat: Add Semantic commits --- .github/workflows/semantic-commit.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/semantic-commit.yml diff --git a/.github/workflows/semantic-commit.yml b/.github/workflows/semantic-commit.yml new file mode 100644 index 0000000..0615724 --- /dev/null +++ b/.github/workflows/semantic-commit.yml @@ -0,0 +1,22 @@ +name: 'PR and Commit Message Check' + +on: + workflow_call: + secrets: + GITHUB_TOKEN: + required: true + +jobs: + check-commit-message: + name: Check Commit Message + runs-on: ubuntu-latest + steps: + - name: Check Commit Message + uses: gsactions/commit-message-checker@16fa2d5de096ae0d35626443bcd24f1e756cafee + with: + pattern: '^(Merge .+|((feat|fix|chore|docs|style|refactor|perf|ci|test)(\(.+\))?: [A-Z0-9].+[^.\s])$)' + error: 'Commit messages and PR title should match conventional commit convention and start with an uppercase.' + excludeDescription: 'true' + excludeTitle: 'false' + checkAllCommitMessages: 'true' + accessToken: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From fd0c28931422aa122979cb29c6c9159615169c09 Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 15:27:55 +0100 Subject: [PATCH 05/11] feat: Add ValidateLocalization --- .github/workflows/dependent-issues.yml | 2 +- .github/workflows/semantic-commit.yml | 2 +- .github/workflows/validate-localization.yml | 35 +++++++++++++++++++++ 3 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/validate-localization.yml diff --git a/.github/workflows/dependent-issues.yml b/.github/workflows/dependent-issues.yml index b2edcc7..4626536 100644 --- a/.github/workflows/dependent-issues.yml +++ b/.github/workflows/dependent-issues.yml @@ -12,4 +12,4 @@ jobs: steps: - uses: z0al/dependent-issues@950226e7ca8fc43dc209a7febf67c655af3bdb43 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/semantic-commit.yml b/.github/workflows/semantic-commit.yml index 0615724..531aa2b 100644 --- a/.github/workflows/semantic-commit.yml +++ b/.github/workflows/semantic-commit.yml @@ -19,4 +19,4 @@ jobs: excludeDescription: 'true' excludeTitle: 'false' checkAllCommitMessages: 'true' - accessToken: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + accessToken: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/validate-localization.yml b/.github/workflows/validate-localization.yml new file mode 100644 index 0000000..dcc7edd --- /dev/null +++ b/.github/workflows/validate-localization.yml @@ -0,0 +1,35 @@ +name: Validate localization files + +on: + workflow_call: + inputs: + app_name: + required: true + type: string + localizable_path: + required: true + type: string + main_target_localizable_path: + required: true + type: string + secrets: + LOCO_KEY: + required: true + +jobs: + validate: + name: Validate localization files + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v6 + - name: Setup mise + uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 + - name: Create configuration file + run: | + touch ${GITHUB_WORKSPACE}/.import_loco + echo -e "[${{ inputs.app_name }}]\nlocalizable_path = ${GITHUB_WORKSPACE}/${{ inputs.localizable_path }}\nmain_target_localizable_path = ${GITHUB_WORKSPACE}/${{ inputs.main_target_localizable_path }}\nloco_key = $LOCO_KEY" > ${GITHUB_WORKSPACE}/.import_loco + - name: Validate + run: import_loco swisstransfer -c --config-file ${GITHUB_WORKSPACE}/.import_loco + From 0d051e5124ece0c936a30beb2f295bfd25ccf79b Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 15:43:16 +0100 Subject: [PATCH 06/11] feat: Add Periphery --- .github/workflows/periphery.yml | 17 +++++++++++++++++ .github/workflows/swiftformat.yml | 3 +-- .github/workflows/swiftlint.yml | 3 +-- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/periphery.yml diff --git a/.github/workflows/periphery.yml b/.github/workflows/periphery.yml new file mode 100644 index 0000000..68fee80 --- /dev/null +++ b/.github/workflows/periphery.yml @@ -0,0 +1,17 @@ +name: Periphery + +on: workflow_call + +jobs: + periphery: + name: Scan unused code + runs-on: [ self-hosted, iOS ] + + steps: + - name: Checkout + uses: actions/checkout@v6 + - uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 + - name: Generate + run: tuist install && tuist generate + - name: Periphery + run: periphery scan --retain-codable-properties --format github-actions --relative-results --strict \ No newline at end of file diff --git a/.github/workflows/swiftformat.yml b/.github/workflows/swiftformat.yml index c01450c..6ff8c85 100644 --- a/.github/workflows/swiftformat.yml +++ b/.github/workflows/swiftformat.yml @@ -1,7 +1,6 @@ name: SwiftLint -on: - workflow_call +on: workflow_call jobs: format: diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml index 360ba8a..b016891 100644 --- a/.github/workflows/swiftlint.yml +++ b/.github/workflows/swiftlint.yml @@ -1,7 +1,6 @@ name: SwiftLint -on: - workflow_call +on: workflow_call jobs: lint: From a53feb1f138bed90b181642a414ff520b998cb31 Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Thu, 22 Jan 2026 15:48:01 +0100 Subject: [PATCH 07/11] feat: Add Auto author assign --- .github/workflows/auto_author_assign.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .github/workflows/auto_author_assign.yml diff --git a/.github/workflows/auto_author_assign.yml b/.github/workflows/auto_author_assign.yml new file mode 100644 index 0000000..b5cbbc3 --- /dev/null +++ b/.github/workflows/auto_author_assign.yml @@ -0,0 +1,12 @@ +name: Auto Author Assign + +on: workflow_call + +permissions: + pull-requests: write + +jobs: + assign-author: + runs-on: ubuntu-latest + steps: + - uses: toshimaru/auto-author-assign@4d585cc37690897bd9015942ed6e766aa7cdb97f From e037eb882acedcc9de948e4edbab64adb65b235e Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Fri, 23 Jan 2026 08:22:18 +0100 Subject: [PATCH 08/11] chore: Clean worklflows --- .github/workflows/dependent-issues.yml | 2 +- .github/workflows/periphery.yml | 3 +-- .github/workflows/semantic-commit.yml | 3 +-- .github/workflows/swiftformat.yml | 3 +-- .github/workflows/swiftlint.yml | 1 - .github/workflows/validate-localization.yml | 9 ++------- 6 files changed, 6 insertions(+), 15 deletions(-) diff --git a/.github/workflows/dependent-issues.yml b/.github/workflows/dependent-issues.yml index 4626536..201c6b0 100644 --- a/.github/workflows/dependent-issues.yml +++ b/.github/workflows/dependent-issues.yml @@ -7,7 +7,7 @@ on: required: true jobs: - check: + check_dependencies: runs-on: ubuntu-latest steps: - uses: z0al/dependent-issues@950226e7ca8fc43dc209a7febf67c655af3bdb43 diff --git a/.github/workflows/periphery.yml b/.github/workflows/periphery.yml index 68fee80..b6089b8 100644 --- a/.github/workflows/periphery.yml +++ b/.github/workflows/periphery.yml @@ -4,7 +4,6 @@ on: workflow_call jobs: periphery: - name: Scan unused code runs-on: [ self-hosted, iOS ] steps: @@ -14,4 +13,4 @@ jobs: - name: Generate run: tuist install && tuist generate - name: Periphery - run: periphery scan --retain-codable-properties --format github-actions --relative-results --strict \ No newline at end of file + run: periphery scan --retain-codable-properties --format github-actions --relative-results --strict diff --git a/.github/workflows/semantic-commit.yml b/.github/workflows/semantic-commit.yml index 531aa2b..f91ca8c 100644 --- a/.github/workflows/semantic-commit.yml +++ b/.github/workflows/semantic-commit.yml @@ -1,4 +1,4 @@ -name: 'PR and Commit Message Check' +name: Check Commit Message on: workflow_call: @@ -8,7 +8,6 @@ on: jobs: check-commit-message: - name: Check Commit Message runs-on: ubuntu-latest steps: - name: Check Commit Message diff --git a/.github/workflows/swiftformat.yml b/.github/workflows/swiftformat.yml index 6ff8c85..738a9d8 100644 --- a/.github/workflows/swiftformat.yml +++ b/.github/workflows/swiftformat.yml @@ -1,10 +1,9 @@ -name: SwiftLint +name: SwiftFormat on: workflow_call jobs: format: - name: SwiftFormat runs-on: ubuntu-latest steps: diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml index b016891..8e879b5 100644 --- a/.github/workflows/swiftlint.yml +++ b/.github/workflows/swiftlint.yml @@ -4,7 +4,6 @@ on: workflow_call jobs: lint: - name: SwiftLint runs-on: ubuntu-latest steps: diff --git a/.github/workflows/validate-localization.yml b/.github/workflows/validate-localization.yml index dcc7edd..8bba47b 100644 --- a/.github/workflows/validate-localization.yml +++ b/.github/workflows/validate-localization.yml @@ -3,9 +3,6 @@ name: Validate localization files on: workflow_call: inputs: - app_name: - required: true - type: string localizable_path: required: true type: string @@ -18,7 +15,6 @@ on: jobs: validate: - name: Validate localization files runs-on: ubuntu-latest steps: @@ -29,7 +25,6 @@ jobs: - name: Create configuration file run: | touch ${GITHUB_WORKSPACE}/.import_loco - echo -e "[${{ inputs.app_name }}]\nlocalizable_path = ${GITHUB_WORKSPACE}/${{ inputs.localizable_path }}\nmain_target_localizable_path = ${GITHUB_WORKSPACE}/${{ inputs.main_target_localizable_path }}\nloco_key = $LOCO_KEY" > ${GITHUB_WORKSPACE}/.import_loco + echo -e "[project]\nlocalizable_path = ${GITHUB_WORKSPACE}/${{ inputs.localizable_path }}\nmain_target_localizable_path = ${GITHUB_WORKSPACE}/${{ inputs.main_target_localizable_path }}\nloco_key = $LOCO_KEY" > ${GITHUB_WORKSPACE}/.import_loco - name: Validate - run: import_loco swisstransfer -c --config-file ${GITHUB_WORKSPACE}/.import_loco - + run: import_loco project -c --config-file ${GITHUB_WORKSPACE}/.import_loco From 8c505560c906d7a13b3e3acebb14eca2a4172e0c Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Fri, 23 Jan 2026 09:18:06 +0100 Subject: [PATCH 09/11] feat: Update templates to use reusable workflows --- workflow-templates/auto-author-assign.yml | 8 ++++--- workflow-templates/conventional-commit.yml | 23 +++++++----------- workflow-templates/dependent-issues.yml | 17 ++++++------- workflow-templates/swiftformat.yml | 28 ++++++---------------- workflow-templates/swiftlint.yml | 28 ++++++---------------- 5 files changed, 35 insertions(+), 69 deletions(-) diff --git a/workflow-templates/auto-author-assign.yml b/workflow-templates/auto-author-assign.yml index 85901ce..efc76e2 100644 --- a/workflow-templates/auto-author-assign.yml +++ b/workflow-templates/auto-author-assign.yml @@ -4,11 +4,13 @@ on: pull_request_target: types: [ opened, reopened ] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + permissions: pull-requests: write jobs: assign-author: - runs-on: ubuntu-latest - steps: - - uses: toshimaru/auto-author-assign@v2.1.0 + uses: infomaniak/.github/.github/workflows/auto_author_assign.yml@feat/add-workflows diff --git a/workflow-templates/conventional-commit.yml b/workflow-templates/conventional-commit.yml index 29bcd36..a116a0a 100644 --- a/workflow-templates/conventional-commit.yml +++ b/workflow-templates/conventional-commit.yml @@ -1,23 +1,18 @@ -name: 'PR and Commit Message Check' +name: Check Commit Message + on: - pull_request_target: + pull_request: types: - opened - edited - reopened - synchronize +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: check-commit-message: - name: Check Commit Message - runs-on: ubuntu-latest - steps: - - name: Check Commit Message - uses: gsactions/commit-message-checker@v2 - with: - pattern: '^(Merge .+|((feat|fix|chore|docs|style|refactor|perf|ci|test)(\(.+\))?: [A-Z0-9].+[^.\s])$)' - error: 'Commit messages and PR title should match conventional commit convention and start with an uppercase.' - excludeDescription: 'true' - excludeTitle: 'false' - checkAllCommitMessages: 'true' - accessToken: ${{ secrets.GITHUB_TOKEN }} + uses: infomaniak/.github/.github/workflows/semantic-commit.yml@feat/add-workflows + secrets: inherit diff --git a/workflow-templates/dependent-issues.yml b/workflow-templates/dependent-issues.yml index 19524f7..7233ee6 100644 --- a/workflow-templates/dependent-issues.yml +++ b/workflow-templates/dependent-issues.yml @@ -13,16 +13,13 @@ on: - edited - closed - reopened - # Makes sure we always add status check for PRs. Useful only if - # this action is required to pass before merging. Otherwise, it - # can be removed. - synchronize +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + jobs: - check: - runs-on: ubuntu-latest - steps: - - uses: z0al/dependent-issues@v1.5.2 - env: - # (Required) The token to use to make API calls to GitHub. - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + check_dependencies: + uses: infomaniak/.github/.github/workflows/dependent-issues.yml@feat/add-workflows + secrets: inherit diff --git a/workflow-templates/swiftformat.yml b/workflow-templates/swiftformat.yml index d3791ae..a8fe12f 100644 --- a/workflow-templates/swiftformat.yml +++ b/workflow-templates/swiftformat.yml @@ -1,25 +1,11 @@ name: SwiftFormat -on: - pull_request: - branches: [ $default-branch ] +on: pull_request -jobs: - build: - name: SwiftFormat - runs-on: [ self-hosted, iOS ] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{ github.token }} - - uses: jdx/mise-action@v2 - with: - cache: false - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: SwiftFormat - run: swiftformat --lint . --reporter github-actions-log +jobs: + format: + uses: infomaniak/.github/.github/workflows/swiftformat.yml@feat/add-workflows diff --git a/workflow-templates/swiftlint.yml b/workflow-templates/swiftlint.yml index d86642e..aa96b5a 100644 --- a/workflow-templates/swiftlint.yml +++ b/workflow-templates/swiftlint.yml @@ -1,25 +1,11 @@ name: SwiftLint -on: - pull_request: - branches: [ $default-branch ] +on: pull_request -jobs: - build: - name: SwiftLint - runs-on: [ self-hosted, iOS ] +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true - steps: - - name: Cancel Previous Runs - uses: styfle/cancel-workflow-action@0.12.1 - with: - access_token: ${{ github.token }} - - uses: jdx/mise-action@v2 - with: - cache: false - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - name: SwiftLint - run: swiftlint --config .swiftlint.yml --config .swiftlint-ci.yml --reporter github-actions-logging . +jobs: + lint: + uses: infomaniak/.github/.github/workflows/swiftlint.yml@feat/add-workflows From c594e68e1052debcec243c2aee51602966e1dda2 Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Fri, 23 Jan 2026 10:55:31 +0100 Subject: [PATCH 10/11] chore: Set fake hash --- workflow-templates/auto-author-assign.yml | 2 +- workflow-templates/conventional-commit.yml | 2 +- workflow-templates/dependent-issues.yml | 2 +- workflow-templates/swiftformat.yml | 2 +- workflow-templates/swiftlint.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/workflow-templates/auto-author-assign.yml b/workflow-templates/auto-author-assign.yml index efc76e2..d79f156 100644 --- a/workflow-templates/auto-author-assign.yml +++ b/workflow-templates/auto-author-assign.yml @@ -13,4 +13,4 @@ permissions: jobs: assign-author: - uses: infomaniak/.github/.github/workflows/auto_author_assign.yml@feat/add-workflows + uses: infomaniak/.github/.github/workflows/auto_author_assign.yml@ diff --git a/workflow-templates/conventional-commit.yml b/workflow-templates/conventional-commit.yml index a116a0a..aacc930 100644 --- a/workflow-templates/conventional-commit.yml +++ b/workflow-templates/conventional-commit.yml @@ -14,5 +14,5 @@ concurrency: jobs: check-commit-message: - uses: infomaniak/.github/.github/workflows/semantic-commit.yml@feat/add-workflows + uses: infomaniak/.github/.github/workflows/semantic-commit.yml@ secrets: inherit diff --git a/workflow-templates/dependent-issues.yml b/workflow-templates/dependent-issues.yml index 7233ee6..496311e 100644 --- a/workflow-templates/dependent-issues.yml +++ b/workflow-templates/dependent-issues.yml @@ -21,5 +21,5 @@ concurrency: jobs: check_dependencies: - uses: infomaniak/.github/.github/workflows/dependent-issues.yml@feat/add-workflows + uses: infomaniak/.github/.github/workflows/dependent-issues.yml@ secrets: inherit diff --git a/workflow-templates/swiftformat.yml b/workflow-templates/swiftformat.yml index a8fe12f..6b55409 100644 --- a/workflow-templates/swiftformat.yml +++ b/workflow-templates/swiftformat.yml @@ -8,4 +8,4 @@ concurrency: jobs: format: - uses: infomaniak/.github/.github/workflows/swiftformat.yml@feat/add-workflows + uses: infomaniak/.github/.github/workflows/swiftformat.yml@ diff --git a/workflow-templates/swiftlint.yml b/workflow-templates/swiftlint.yml index aa96b5a..106c2a3 100644 --- a/workflow-templates/swiftlint.yml +++ b/workflow-templates/swiftlint.yml @@ -8,4 +8,4 @@ concurrency: jobs: lint: - uses: infomaniak/.github/.github/workflows/swiftlint.yml@feat/add-workflows + uses: infomaniak/.github/.github/workflows/swiftlint.yml@ From 7de4572596b14d193d9805e226226a037d27e3dc Mon Sep 17 00:00:00 2001 From: Valentin Perignon Date: Fri, 23 Jan 2026 10:56:26 +0100 Subject: [PATCH 11/11] feat(Periphery): Add intermediate step if necessary --- .github/workflows/periphery.yml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/workflows/periphery.yml b/.github/workflows/periphery.yml index b6089b8..550d384 100644 --- a/.github/workflows/periphery.yml +++ b/.github/workflows/periphery.yml @@ -1,6 +1,12 @@ name: Periphery -on: workflow_call +on: + workflow_call: + inputs: + setup_step: + required: false + type: string + default: 'echo "Nothing to do"' jobs: periphery: @@ -10,6 +16,8 @@ jobs: - name: Checkout uses: actions/checkout@v6 - uses: jdx/mise-action@6d1e696aa24c1aa1bcc1adea0212707c71ab78a8 + - name: Setup Step + run: ${{ inputs.setup_step }} - name: Generate run: tuist install && tuist generate - name: Periphery